python でFizzBuzz問題(C でナベアツ問題)
プログラミングの有名な問題のひとつに "FizzBuzz問題" がある。
1,2,3,4,5,6,7...のような数列の要素が
3で割り切れる場合は Fizz
5で割り切れる場合は Buzz
両方で割り切れる場合は FizzBuzz
と出力するような問題である。
ほしい出力は以下。
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 ...
この問題を python で実装していきたいと思う
早速コードを書いてみた
for i in range(1,100): if i % 15 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i
これで上のような出力が得られるはずである。
もっと良いアルゴリズムがあるんだろうか?
ご存じの方は教えて下さいm(..)m
そういえばこの問題「ナベアツ問題」っていってるのどこかで見たな(笑)
実装してみますか
どうせだからC言語で
3の倍数と3の付く数字の時はアホになって、5の倍数で犬になります。
ちょっと難しいな...
#include<stdio.h> int i; int main(void) { for(i=0;i<15;i++) { if(i%15==0) printf("ワホーン!\n"); else if(i%10==3 || i%3==0) printf("サァァン\n"); else if(i%5==0) printf("ゴフッッツ\n"); else printf("%d\n",i); } } //これは6でもサァァンっていうやつだな。
ナベアツさんには程遠いな...
個人的にはエド・はるみさんとか藤崎マーケットさんのネタが好きだなぁ
...以上!!