第5回 mixC Code Golf 結果報告

アバター
あーる@Reputeless
記事: 84
登録日時: 15年前
住所: 千葉

第5回 mixC Code Golf 結果報告

投稿記事 by あーる@Reputeless » 14年前

#第5回 [Square-Square]#

[問題]
標準入力から1ケタの整数を受け取り、縦横がその数の '#' で構成された正方形を表示する

[入力|例1]
2

[出力|例1]
##\n
##\n

[入力|例2]
5

[出力|例2]
#####\n
#####\n
#####\n
#####\n
#####\n

[入力|例3]
8

[出力|例3]
########\n
########\n
########\n
########\n
########\n
########\n
########\n
########\n

[期間]
11/5(金)21:59 ~ 11/12(金)21:59

                          
=結果=

投稿数 12件(4人)

1位 (56B)
五反田 さん
s[];main(i){for(gets(&i);i%=48;puts(memset(s,35,i--)));}

2位 (59B)
ideyan さん
i;main(j){for(scanf("%d",&j);i++<j;puts("#########"+9-j));}

a5ua さん
i;main(n){for(n=getchar()-48;i++<n;)puts("#########"+9-n);}

*1位1番乗り
五反田 さん

                          
★解説

今回のポイントは次の3つです。

数字は「文字 - 48」
scanf("%d") を使わず、文字として入力された1つの数字を int 型の整数に変換することで、コードを短くできることがあります。
その方法では、'0' から '9' までの数字が文字コード上の 48 から 57 に順に対応していることを利用します。

1つの式に複数の仕事をさせる


文字列 "XXX" は ポインタ
const char* s = "Hello!";
と書くことはあっても、"" で囲んだ文字列自体がポインタとみなせることは、あまり知られていません。
char c = "Code Golf"[2]; とすれば c = 'd';
printf( "Code Golf\n" + 5 ); とすれば printf( "Golf\n" ) と同じになります。

                          
興味が出てきたら、コミュニティ「Code Golf を楽しもう」まで!
初心者歓迎、参戦&観戦いつでもお待ちしています!
http://dixq.net/mixC/community/11

-
最後に編集したユーザー あーる@Reputeless on 2010年11月20日(土) 22:16 [ 編集 1 回目 ]

アバター
五反田
記事: 21
登録日時: 15年前

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by 五反田 » 14年前

おお、待ちわびてました。
期限過ぎてたのに採用してくれたありがとうございます。
(期限に間に合った最短コードはscanfを使用した57Bコードでした。)

CODE:

s[];main(i){for(scanf("%d",&i);i;puts(memset(s,35,i--)));}
中間発表が無ければ、多分62Bコードで満足してしまって、進歩しなかったと思います。

アバター
あーる@Reputeless
記事: 84
登録日時: 15年前
住所: 千葉

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by あーる@Reputeless » 14年前

> 五反田 さん
いつも参加ありがとうございます (╹◡╹
僕の都合で結果報告が遅くなってしまいました。すみません。
勉強になるコードで、順位にも影響がなかったので紹介させていただきました。

次回からまた時間通りに結果を報告できるよう気を付けますので、タイムリミット後の受け付けには期待なさらないように(笑)

アバター
五反田
記事: 21
登録日時: 15年前

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by 五反田 » 14年前

なんかグローバル変数の宣言が短くなってしまいました。
(55B)

CODE:

s;main(i){for(gets(&i);i%=48;puts(memset(&s,35,i--)));}

アバター
ideyan
記事: 2
登録日時: 15年前

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by ideyan » 14年前

おー、短くなってますね。。。
[]と&の差かー。
流石にもう短くはならないかな、って感じですね^^

アバター
あーる@Reputeless
記事: 84
登録日時: 15年前
住所: 千葉

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by あーる@Reputeless » 14年前

> 五反田さん
> ideyan さん
びっくり!
これがパーかもしれませんね

アバター
GRAM
記事: 164
登録日時: 14年前

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by GRAM » 14年前

これはすごいですね…
自分がどれだけの事を知らないのかと思い知らされます。
でもいつか必ず1位をとって見せます!

アバター
あーる@Reputeless
記事: 84
登録日時: 15年前
住所: 千葉

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by あーる@Reputeless » 14年前

> GRAM さん
知識と発想力がためされますね。
上位常連軍に斬りこんでいってください!! (╹◡╹*

xxx
記事: 26
登録日時: 15年前

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by xxx » 14年前

問題見たけど解くの忘れてた・・・
やっても3位にはいれていないorz
九九がんばってみます!

アバター
あーる@Reputeless
記事: 84
登録日時: 15年前
住所: 千葉

Re: 第5回 mixC Code Golf 結果報告

投稿記事 by あーる@Reputeless » 14年前

> roxion1377 さん
よしよし。今回もまたアツくなりそうだなぁ