int main(void){
int i;
for(i = 1 ; i <;= 100 ; i++){
printf("%d \0Fizz \0FizzBuzz "+("\x0A\x00\x00\x04\x00\x0D\x04\x00\x00\x04\x0D\x00\x04\x00\x00"[i%15]),i);
}
printf("\n");
return 0;
}
これ以上FizzBuzzは短く出来ないと思われる。return 0 とか改行はぬけるっちゃぁ、抜けるけど・・・
for(int i = 1 ; i <;= 100 ; i++){
printf("%d \0Fizz \0FizzBuzz "+("\x0A\x00\x00\x04\x00\x0D\x04\x00\x00\x04\x0D\x00\x04\x00\x00"[i%15]),i);
}
}
まぁ、限界だな・・・
void main(void) { for(int i = 1 ; i <;= 100 ; i++) printf("%d \0Fizz \0FizzBuzz "+("\x0A\x00\x00\x04\x00\x0D\x04\x00\x00\x04\x0D\x00\x04\x00\x00"[i%15]),i) ;}
うん、わけわからん。
ヤバイのはもちろん理解しておりますので、 どうかどの辺りがヤバイと感じられるのか お教え頂けないでしょうか。 まったくこれまで発言してなかった俺が感じるところを言うと...
まぁ、今時は32Bitだし 100までしかFizzBuzzは回さないだろうから、動くんだろうな。 どうでもいいけど cout 書いたなら、strstreamだろうし sprintf使うならprintfだろうなぁと int main(void){ ...
ちなみにFizzBuzzを短くするなら、こう。printfの""はポインタである。というのをつかって\0を文字列に入れ込み、数値の演算結果で文字列をシフトする。 Buzz単体を表示したい時にはFizzBu...
そこまでやるなら "\xNN\xXX\xXX\xXX\xXX"[i%15] でよかろ。-'F' する意味が無い。¥x00 の形式で非ASCIIも指定できるんだから。 とはいえ、いまどきの パイプラインガシガシのコンピュー...
魔法?
int main(void){ int i; for(i = 1 ; i <;= 100 ; i++){ printf("%d \0Fizz \0FizzBuzz "+("\x0A\x00\x00\x04\x00\x0D\x04\x00\x00\x04\x0D\x00\x04\x00\x00"[i%15]),i); } printf("\n"); return 0; } かな?...
すごい、魔法だ(さっきから魔法魔法言ってるのは元増田じゃないよ)
ありがとうございます。 正直に言うと、文字列処理とか大嫌いなのでそこはググって書きました。 C++クックブックを見ると、boost::lexcal_castを使う方法がありましたが、 こんな単純なこ...
横からだが32ビットコンピューターでsizeof(int)っていくつよ。 intの最大値って何桁だよ。
4byteで最大値は2^31です 4桁以上だとダメということでしょうか
とことんだめだなw 基礎からやれ基礎から。 文字列の最後には終端文字1文字が必要なので 3桁+終端文字1文字で4バイト。 よって『4桁』以上で アウト。 教科書にのるレベルの 基...
どうでもいいけど 2^31-1 ~ -(2^31) だっけか?int
ありがとうございます。 そういった点、もちろん言われれば思い出しますが、どうしても瑣末なことだと思ってしまいますね…。 バリバリの職業プログラマでないとすると、その辺りど...