2011-01-14

http://anond.hatelabo.jp/20110114224748

http://anond.hatelabo.jp/20110114224058 を書いた増田です

ちなみにFizzBuzzを短くするなら、こう。printfの""はポインタである。というのをつかって\0を文字列に入れ込み、数値の演算結果で文字列シフトする。

Buzz単体を表示したい時にはFizzBuzz+4相当で表示できる というのがさらにポイント

俺ならその4行目は

  printf("%d\n\0Fizz\n\0FizzBuzz\n"+("PFFJFTFFJFTFFJF"[i%15]-'F'), i );

たいしたくなるけどコードレビューで殴られそうなのでやらない。

このコードだと条件分岐がなくなってるし割り算の回数も減ってるから速くなるかもよ?

(でもそんなこと言うならprintf使ってる時点で論外だよな)

記事への反応 -
  • 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; }} コ...

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

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

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

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

            • ちなみにFizzBuzzを短くするなら、こう。printfの""はポインタである。というのをつかって\0を文字列に入れ込み、数値の演算結果で文字列をシフトする。 Buzz単体を表示したい時にはFizzBu...

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

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

    • 魔法?

    • ゴルフやってんじゃないんだから三項演算子とか無駄な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とかの人とか、みんなそんな感じですよねえ…。 下請けコーダ...

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

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