つい最近FizzBuzzなるものを知りまして、なんで今まで知らなかったんだろうと。初心者ここに極まれりですねはい。

とりあえず剰余演算子と条件分岐なし縛りでC++で書いてみたのでメモ代わりに。

sstreamとか使わなくてもsprintf使えばもっと簡単に書けたような(今気づいた)

あとはどれだけ短くできるかみたいなのもあるようで http://golf.shinh.org/p.rb?FizzBuzz
C++の最短90バイトとか神ですか・・・

[cpp]
#include
#include
#include
using namespace std;
string dat[101];

string IntToString(int num)
{
stringstream s;
s << num;
return s.str();
}

int main(){
for (int i = 0; i < 100; i++){
dat[i] = IntToString(i);
}
for (int i = 0; i < 100; i += 3){
dat[i] = "Fizz";
}
for (int i = 0; i < 100; i += 5){
dat[i] = "Buzz";
}
for (int i = 0; i < 100; i += 15){
dat[i] = "FizzBuzz";
}
for (int i = 1; i < 100; i++){
cout << dat[i] << endl;
}
}
[/cpp]

スポンサーリンク