トップ Team(・∀・)2ch 新規 一覧 検索 ヘルプ RSS ログイン

FizzBuzzの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
::FizzBuzzとは
:::1から100までの数を順に表示していく。ただし、3の倍数の時は数字の代わりに 'Fizz' と表示する。
:::5の倍数のときは数字の代わりに 'Buzz' と表示する。両方の倍数のときは数字の代わりに 'FizzBuzz' と表示する。
:::具体的に言うと・・・

Input

 *なし*

Output

 1
 2
 Fizz
 4
 Buzz
 Fizz
 7
 8
 Fizz
 Buzz
 11
 Fizz
 13
 14
 FizzBuzz
 16
 17
 Fizz
 19
 Buzz
 Fizz
 22
 23
 Fizz
 Buzz
 26
 Fizz
 28
 29
 FizzBuzz
 31
 32
 Fizz
 34
 Buzz
 Fizz
 37
 38
 Fizz
 Buzz
 41
 Fizz
 43
 44
 FizzBuzz
 46
 47
 Fizz
 49
 Buzz
 Fizz
 52
 53
 Fizz
 Buzz
 56
 Fizz
 58
 59
 FizzBuzz
 61
 62
 Fizz
 64
 Buzz
 Fizz
 67
 68
 Fizz
 Buzz
 71
 Fizz
 73
 74
 FizzBuzz
 76
 77
 Fizz
 79
 Buzz
 Fizz
 82
 83
 Fizz
 Buzz
 86
 Fizz
 88
 89
 FizzBuzz
 91
 92
 Fizz
 94
 Buzz
 Fizz
 97
 98
 Fizz
 Buzz

!!!How Do You FizzBuzz In Python?

56Byte ( for loop

 for i in range(100):print i%3/2*"Fizz"+i%5/4*"Buzz"or-~i

56Byte ( while loop

 i=0
 while~i<99:i-=1;print~i%3/2*'Fizz'+~i%5/4*'Buzz'or-i

56byte ( exec

 i=0
 exec"print i%3/2*'Fizz'+i%5/4*'Buzz'or-~i;i+=1;"*100

for loop

 for i in range(1,101):
     if i%15 == 0:
         print 'FizzBuzz'
     elif i%5 == 0:
         print 'Buzz'
     elif i%3 == 0:
         print 'Fizz'
     else:
         print i

generator expression

 print ''.join((i%3==0)*'Fizz' + (i%5==0)*'Buzz' or i for i in range(1,101))

generator

 def fizzbuzz(n): 
     for i in range(1, n+1): 
         if i % 15 == 0: yield 'FizzBuzz' 
         elif i % 5 == 0: yield 'Buzz' 
         elif i % 3 == 0: yield 'Fizz' 
         else: yield i
 
 for x in fizzbuzz(100): print x

----

参考URL:
*http://golf.shinh.org/p.rb?FizzBuzz
*[どうしてプログラマに・・・プログラムが書けないのか?|http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm]