fizzbuzz
知人がfizzbuzzの話をしていたので、
最近手をつけてないプログラムの頭を少し使ってみました。
通常は2~5分で解かなければいけないのですが、
普段開発してないので時間がかかってしまいました。
最初のプレイヤーは「1」と数字を発言する。
次のプレイヤーは直前のプレイヤーの次の数字を発言していく。
ただし、3で割り切れる場合は 「Fizz」(Bizz Buzz の場合は 「Bizz」)、
5で割り切れる場合は 「Buzz」、両者で割り切れる場合は 「Fizz Buzz」
を数の代わりに発言しなければならない。
#include
int main(void)
{
int i;
for (i = 1; i <= 100; i++) {
printf("%d\r", i);
if (i % 3 == 0) printf("Fizz");
if (i % 5 == 0) printf("Buzz");
printf("\n");
}
return 0;
}
[/C]
#!/usr/bin/perl for (1..100) { if ($_ % 3 == 0 && $_ % 5 == 0) { print 'FizzBuzz'; } elsif ($_ % 3 == 0) { print 'Fizz'; } elsif ($_ % 5 == 0) { print 'Buzz'; } else { print $_; } print "\n"; }
perl -e'for(1..100){my$s;$s=Fizz if$_%3==0;$s.=Buzz if$_%5==0;print$s?"$s\n":"$_\n"}'