2011-01-14

http://anond.hatelabo.jp/20110114214708

もちろん

if(!i%15){
  std::cout << "fizzbuzz" << std::endl;
}else if(!i%5){
  std::cout << "buzz" << std::endl;
}else if(!i%3){
  std::cout << "fizz" << std::endl;
}else{
  std::cout << i << std::endl;
}

とか書くことはできますが、見やすさとかそういう話はいいかと思って短くしてみました

あと3項演算子の:の左右で違う型を受け付けてくれないので、intを文字列に変換する必要がありました

sprintfを使わないで変換する方法がわからなかったもので。

「ヤバい」と書かれた方でしょうか?

記事への反応 -
  • そして作品を見せられてもソースを解析する時間がない。 ソースを解析って相当ズレてるかあなたはプログラマではないのでは デザイナー(絵)の場合、見たらわかるだろ。 絵が...

    • ソースを解析って相当ズレてるかあなたはプログラマではないのでは 「他人の書いたソースを見る」という意味で「解析」という言葉を使ったけど、 俺がプログラムできないぐらい...

      • 横だが >>> これこそ「君はデザイナーじゃないでしょ?」って言いたい。いや「働いてないでしょ?」かな。 絵を見るのって玄人だけか?IT業界で使う絵の評価は一体誰がする? ...

        • void fizzbuzz(int n){ for(int i=1;i<=n;i++){ char ich[sizeof(int)]; sprintf(ich,"%d",i); std::cout << ((i%15==0)?"fizzbuzz":((i%5==0)?"buzz":((i%3==0)?"fizz":ich))) << std::endl; }} コ...

          • ゴルフやってんじゃないんだから三項演算子とか無駄なsprintfとか使う必要ないと思うんだが。 if fizzbuzz else if fizz else if buzz else print n ぐらいでいいんだよ。

            • もちろん if(i%15){ std::cout << "fizzbuzz" << std::endl;}else if(i%5){ std::cout << "buzz" << std::endl;}else if(i%3){ std::cout << "fizz" << std::endl;}else{ std::cout <<...

              • さらに横だが、これを「瑣末なこと」と思う人はコンピュータ業界には向いてないよ。

                • それは重々理解しておりますが、時代が時代なので、プログラム書かないと生きていけないんです。 困ったもんです。本当に。社会は個々人の適正なんてガン無視ですからね。当然です...

                  • トラバ打つ場所間違えた ^_^; それはさておき。あなたが職務上どうしてもきちんとしたプログラムを書かないといけなくて、また、書けるようになりたいと思うのであれば、言語の約束...

                    • ありがとうございます。 パタヘネは(ヘネパタも)読んだことないですね…。 プログラム自体を好きになって、好きを原動力に色々やれるのが一番理想的なんですけどねえ。 原理原則系の...

                      • 残念ながら、その読書履歴だと、ここで言う「原理」には辿り着いてないと思います。挙げられた本はどれも計算に関する抽象概念からさらに上の、アーキテクチャを言語化する部分に...

                        • 仰る通り、ハードウェアアーキテクチャについては知らないですね(スタックやヒープがどうとかは表面上わかりますが)。 というのはズバリそこが非常に嫌い(肌に合わない)で、意...

                          • コンピュータがコアスキルってのもよしあしで、コンピュータってのは合理化の権化なので、自分達で自分達の仕事をどんどん減らすのが良い技術者なんですよ。行き着く先は市場飽和...

                            • 一番良いのはコンピュータをコアスキルとして数学に手を伸ばすタイプな気がしますね。 グーグルの人達とか、日本だとPFIとかの人とか、みんなそんな感じですよねえ…。 下請けコーダ...

          • 魔法?

          • このコードを見て数秒でヤバイと思えなければヤバイ 俺は採用しない

            • 横「魔法?」って言った増田。 メモリリーク?というかこの言語何、C++?

            • ヤバイのはもちろん理解しておりますので、 どうかどの辺りがヤバイの感じられるのか お教え頂けないでしょうか。

              • ヤバイのはもちろん理解しておりますので、 どうかどの辺りがヤバイと感じられるのか お教え頂けないでしょうか。 まったくこれまで発言してなかった俺が感じるところを言うと...

                • まぁ、今時は32Bitだし 100までしかFizzBuzzは回さないだろうから、動くんだろうな。 どうでもいいけど cout 書いたなら、strstreamだろうし sprintf使うならprintfだろうなぁと int main(void){ ...

                • ありがとうございます。 正直に言うと、文字列処理とか大嫌いなのでそこはググって書きました。 C++クックブックを見ると、boost::lexcal_castを使う方法がありましたが、 こんな単純なこ...

                • http://anond.hatelabo.jp/20110114224058 を書いた増田です。 ちなみにFizzBuzzを短くするなら、こう。printfの""はポインタである。というのをつかって\0を文字列に入れ込み、数値の演算結果で文字...

                  • そこまでやるなら "\xNN\xXX\xXX\xXX\xXX"[i%15] でよかろ。-'F' する意味が無い。¥x00 の形式で非ASCIIも指定できるんだから。 とはいえ、いまどきの パイプラインガシガシのコンピュー...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん