#第3回 [2^n]#
[問題]
2^0 から 2^16 までを表示する
[出力]
1\n
2\n
4\n
8\n
16\n
32\n
64\n
128\n
256\n
512\n
1024\n
2048\n
4096\n
8192\n
16384\n
32768\n
65536\n
[期間]
10/24(日)18:00 ~ 10/29(金)23:59
=結果=
投稿数 7件(5人)
1位 (43B)
Justy さん
五反田 さん
ideyan さん
roxion1377 さん
*1位1番乗り
Justy さん
*1位のコード
n;main(){for(;n<17;)printf("%d\n",1<<n++);}
★解説
今回のポイントは次の3つです。
グローバル変数は0で初期化される
プログラム中で利用する変数を0で初期化したい場合、グローバルで宣言することで、=0 をカットできます。
前置き++と、後置き++を区別する
前置き型のインクリメント/デクリメント演算子は、式全体の処理の前に1加算/減算を行いますが、後置き型は式全体の処理が終わってから1加算/減算されます。
2の累乗倍は << を使って得られる
左シフト演算子 << によって、* を使わずに2の累乗倍を得られます。
興味が出てきたら、コミュニティ「Code Golf を楽しもう」まで!
初心者の方でも楽しめる問題を用意しています!
http://dixq.net/mixC/community/11
-
第3回 mixC Code Golf 結果報告
- あーる@Reputeless
- 記事: 84
- 登録日時: 15年前
- 住所: 千葉
第3回 mixC Code Golf 結果報告
最後に編集したユーザー あーる@Reputeless on 2010年11月10日(水) 11:33 [ 編集 1 回目 ]
- あーる@Reputeless
- 記事: 84
- 登録日時: 15年前
- 住所: 千葉
Re: 第3回 mixC Code Golf 結果報告
> a5ua さん
> 五反田 さん
朝早くからコメントありがとうございます。
いろいろな解き方を考えてくださると、みんなの勉強になります!
五反田さんのコードは、for を main 再帰に置き換えたり、
n のビットを左シフトで追いやって、ループ終了を判断する面白いテクニックです。
問題が「 2^24 までを表示する」とかだったら、42B にもできるなぁ (゚д゚
>roxion1377 さん
初1位 おめでとうございます。
今回は差が出るだろうと思ってたのに、またもや接戦でびっくり。
> 五反田 さん
朝早くからコメントありがとうございます。
いろいろな解き方を考えてくださると、みんなの勉強になります!
五反田さんのコードは、for を main 再帰に置き換えたり、
n のビットを左シフトで追いやって、ループ終了を判断する面白いテクニックです。
問題が「 2^24 までを表示する」とかだったら、42B にもできるなぁ (゚д゚
>roxion1377 さん
初1位 おめでとうございます。
今回は差が出るだろうと思ってたのに、またもや接戦でびっくり。