FizzBuzzのコードをどれだけ短くできるかやってみました。C++の最短はどうやら90バイトらしいです。C言語の最短は73バイトだとか。
C++で組むのでとりあえず目標は90バイトということで。

まず最初はこんな感じだったんですがなかなか短くできなかったので、ふとprintfに三項演算子をぶち込む方法を思いつきまして・・・

[cpp]
#include<cstdio>
int main(){for(int i=1;i<101;i++){i%3?i:printf("Fizz");i%5?i:printf("Buzz");i%3&&i%5?printf("%d",i):i;printf("\n");}}
[/cpp]

 

で、こうなった。

[cpp]
#include<cstdio>
int main(){for(int i=1;i<101;i++)printf(i%15?i%3?i%5?"%d\n":"Buzz\n":"Fizz\n":"FizzBuzz\n",i);}
[/cpp]

改行を工夫できるかなーとは思ったんですが方法が全く思いつかなかったのでここで妥協しましたが、初心者にしては結構短いんじゃないかなと。

一応103バイトでした。

ここから13バイト削れとかどう考えても無理ゲー・・・

Cの73バイトとかどうやってるんでしょうねぇ・・・ぜひソースコードを見てみたいです。

スポンサーリンク