問題はこんなの
どうしてプログラマに・・・プログラムが書けないのか?
とりあえず、シンプルにこんな感じ。
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
for (int i = 1; i <= 100; i++) {
if (i % 15 == 0) {
cout << "FizzBuzz" << endl;
} else if (i % 5 == 0) {
cout << "Buzz" << endl;
} else if (i % 3 == 0) {
cout << "Fizz" << endl;
} else {
cout << i << endl;
}
}
return 0;
}
これではあまりにも芸がないなぁと思うので、もう少し考えてみる。
っで、10分考えた結果がまた芸のないこんなの。
#include <iostream>
using namespace std;
char table[][10] = {
"",
"Fizz",
"Buzz",
"FizzBuzz"
};
int main(int argc, char** argv)
{
for (int i = 1; i <= 100; i++) {
int f = (i % 5 == 0) ? (i % 3 == 0) ? 3: 2
: (i % 3 == 0) ? 1: 0;
if (f)
cout << table[f] << endl;
else
cout << i << endl;
}
return 0;
}
あんまりいい答えも思いうかばねぇ・・・
最初とほとんど変わってねぇよ・・・orz
やっぱりこのあたりがすっきりしてていいのかも・・・
No comments:
Post a Comment