<C,Ruby,python>Fizz Buzzを複数言語で実装してみた
Fizz BuzzをC,Ruby,pythonで実装してみた話
#このブログでpython触れるの初だな
Fizz Buzzってゲームあるじゃないですか
(っていうかあるんです、ゲームらしいんです)
簡単に説明すると1から順に数字を言って,3の倍数の時に"Fizz",5の倍数の時に"Buzz",両方の倍数の時に"Fizz Buzz"って言うやつです.
それをプログラムで作ってみようっていうことをやりました.
今回は実装した言語が3種類で長くなりそうなので目次つけます。
目次
作成するときの条件
1.作成するプログラムの条件
ここが統一されてないと比較のしようがないですからね
・変数は繰り返しに用いる変数のみ
・出力はコマンドライン上の出力のみ
・関数やメゾット化はしない
2.処理の流れ
作成したプログラムのフローチャートは以下の通りです
作成したソースコード
#include < stdio.h >
int main(void){
int i;
for(i=0;i<50;i++co ){
if(i%3==0 && i%5==0){
printf("Fizz Buzz \n");
}else if(i%5==0){
printf("Buzz \n");
}else if(i%3==0){
printf("Fizz \n");
}else{
printf("%d \n",i);
}
}
}
実行結果は全部の言語で出てくるものは一緒なので最後にまとめて書きます
実行する時に使ったコマンド
./a.out
作成したソースコード
for i in 1..50 do
if(i%5==0 && i%3==0)
puts "Fizz Buzz"
elsif(i%5==0)
puts "Buzz"
elsif(i%3==0)
puts "Fizz"
else
puts i
end
end
#C言語で書いた時より短い
実行する時に使ったコマンド
作成したソースコード
for i in range(50):
if (i%3==0) and (i%5==0):
print("Fizz Buzz")
elif i%5 == 0:
print("Buzz")
elif i%3 ==0:
print("Fizz")
else:
print(i)
#3つの中だと一番スッキリして見える
実行する時に使ったコマンド
比較してみる
ソースコードの短さ(文字数ベース)
1.Ruby(153)
2.python(160)
3.C言語(264)
実行形式(?)
あとがき
書いてみて色々違いがあるのが面白かったです。読みやすさとコードの少なさの違いとかに驚きがありましたが、自分の学習の理解が深まったので良かったです(こなみ)