C/C++の良問題鑑賞スレ

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
良問を広く晒して世の中を良くしよう!
解きたい人は解いてもいいよ

★関連スレ
C/C++の宿題片付けます 163代目
http://toro.2ch.net/test/read.cgi/tech/1361082416/
2デフォルトの名無しさん:2013/03/30(土) 17:26:12.12
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
3デフォルトの名無しさん:2013/03/30(土) 17:42:02.66
なんだアイちゃんが立てたのか
4 ◆QZaw55cn4c :2013/03/30(土) 17:46:09.19
【報告者へ】
報告の際は以下を行うことを推奨します。
・質問は【報告テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぎたいのならトリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
5 ◆QZaw55cn4c :2013/03/30(土) 17:49:27.98
【報告テンプレ】
[1] 授業単元名:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
(以下、どうしても回答がほしい人は追加して記入してください。)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://codepad.org/http://ideone.com/http://pastebin.com/
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/
6デフォルトの名無しさん:2013/03/30(土) 17:56:04.40
優れた問いは、時に優れた答えに勝る
>>1
7デフォルトの名無しさん:2013/03/30(土) 20:40:18.36
おれが出題してやるよ
8デフォルトの名無しさん:2013/03/30(土) 21:34:10.17
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京極大学霊長類研究所
9デフォルトの名無しさん:2013/03/30(土) 21:44:19.88
アイちゃんにしてはよくやったよな
10デフォルトの名無しさん:2013/03/30(土) 22:18:55.10
手の込んだ教えて君だよな
11デフォルトの名無しさん:2013/03/30(土) 23:21:47.13
[1] 授業単元名:暇潰し
[2] 問題文:できる限り速くフーリエ変換を行う関数を作れ。
[3] 環境
 [3.1] OS:Windows 7
 [3.2] コンパイラ:VC++2010
 [3.3] 言語:C/C++どちらでも可
12デフォルトの名無しさん:2013/03/30(土) 23:29:24.29
[1] 授業単元名:FizzBuzzクイズ
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)特に問わない
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)特に問わない
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)C++/Java

http://kohada.2ch.net/test/read.cgi/prog/1209467166/401
FizzBuzzクイズ

1.fizz.buzz #=> 1
3.fizz.buzz #=> "Fizz"
5.fizz.buzz #=> "Buzz"
15.fizz.buzz #=> "FizzBuzz"
999.fizz.buzz #=> 999

となるようなメソッドfizz、buzzは定義可能か?
可能である場合、同様にgizzを追加定義し、
7.fizz.buzz.gizz #=> "Gizz"
21.fizz.buzz.gizz #=> "FizzGizz"
35.fizz.buzz.gizz #=> "BuzzGizz"
105.fizz.buzz.gizz #=> "FizzBuzzGizz"
105.fizz.gizz.buzz #=> "FizzGizzBuzz" と拡張・応用ができるか?

メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。
13デフォルトの名無しさん:2013/03/30(土) 23:30:14.47
QZついにやけくそ
14デフォルトの名無しさん:2013/03/30(土) 23:36:35.46
QZにはもっと活動してもらって、敵対視する人間のストレスを蓄積させていって欲しい
15デフォルトの名無しさん:2013/03/30(土) 23:37:39.31
などというわざとらしい自作自演発狂カキコ
16デフォルトの名無しさん:2013/03/31(日) 17:51:02.84
荒らされないなら、宿題依頼はこちらですればいいかも
17デフォルトの名無しさん:2013/03/31(日) 18:20:27.42
っと再び犯罪行為を推奨
18デフォルトの名無しさん:2013/03/31(日) 22:15:51.00
>>11
判定:C
理由:
フーリエ変換を高速に行う手法を紹介したものは類書多数(例えばhttp://www.amazon.co.jp/dp/4789830322
出題者の工夫やセンスが皆無
19デフォルトの名無しさん:2013/04/01(月) 23:28:18.29
[1] 授業単元名:暇潰し
[2] 問題文:形式言語で書かれた平面幾何学の問題を解く人工知能(ソルバー)を作れ。
[3] 環境
 [3.1] OS:Windows 7
 [3.2] コンパイラ:VC++2012
 [3.3] 言語:C++
20デフォルトの名無しさん:2013/04/01(月) 23:50:58.26
[1] 授業単元名:暇潰し
[2] 問題文:C++で浮動小数点数(double型)の四則演算と同時に誤差の範囲を計算するクラスを作れ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ:clang
 [3.3] 言語:C++
21デフォルトの名無しさん:2013/04/02(火) 00:02:21.98
[1] 授業単元名:暇潰し
[2] 問題文:レインボーテーブルを使って2ちゃんねるトリップをクラックするプログラムを作れ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ:g++
 [3.3] 言語:C++
22デフォルトの名無しさん:2013/04/02(火) 00:22:54.04
[1] 授業単元名:暇潰し
[2] 問題文:円周率を高速に計算するプログラムを作れ。ただし、充分大きいN桁の計算が終わる度に計算内容をファイルに保存して途中から計算を再開できるようにせよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ:clang
 [3.3] 言語:C/C++
23デフォルトの名無しさん:2013/04/03(水) 20:55:54.59
>>19-22
判定:C
理由:
問題自体が難しすぎる。やさしい題材でもキラリと輝く出題が求められているのだ。
問題を難しくするだけなら馬鹿でもできる。最近では出色の >>12 を参考にし給え。
24デフォルトの名無しさん:2013/04/04(木) 17:50:22.97
25デフォルトの名無しさん:2013/04/06(土) 10:05:08.14
>>23

>>12 の意味が不明なのですが。2,3,4...はどうなるのですか?
2625:2013/04/06(土) 10:06:48.07
まちがえました。 2,4,6,...はどうなるのですか?
27デフォルトの名無しさん:2013/04/06(土) 15:38:59.70
>>12
999は3の倍数なのにどうして"Fizz"にならないのだろう
28デフォルトの名無しさん:2013/04/06(土) 15:52:45.92
>>27
多分元の出題者のミスだろうね
29デフォルトの名無しさん:2013/04/06(土) 16:39:48.47
>>23
意味不明の>>12のどこが出色なのか?
30デフォルトの名無しさん:2013/04/06(土) 17:01:19.46
>>29
>>23 はマ板起源でム板で引用されたもの
ruby を想定した出題、記述もruby流、「ruby はこんなにすごいんだぞ!こんな問題もできないならOOと名乗るな>C++, Java, その他もろもろ」的な
この出題者の意図はともかく、別の面でのこの問題の秀逸さに触発されてム板ではJava, C++ をはじめいろいろなので回答がついたマ板はいったことないからどうなったかしらない
31デフォルトの名無しさん:2013/04/06(土) 17:21:22.31
どうぶつしょうぎの完全解。

http://joshi-shogi.com/doubutsushogi/imgs/top.jpg
二人であそぶゲームです。
はじめは盤の上に、図のようにどうぶつたちを並べます。
ttp://joshi-shogi.com/doubutsushogi/imgs/shokei.gif
<うごかしかた>
それぞれ点がかいてある方向に一歩すすめます。
百獣の王ライオンはどうぶつたちのリーダー。
ttp://joshi-shogi.com/doubutsushogi/imgs/lion.gif
たよりがいのあるぞうはナナメにすすめます。
ttp://joshi-shogi.com/doubutsushogi/imgs/zo.gif
首の長いきりんはタテヨコにすすめます。
ttp://joshi-shogi.com/doubutsushogi/imgs/kirin.gif
ちっちゃなひよこは前に一歩だけすすめます。でも、成長すると?
ttp://joshi-shogi.com/doubutsushogi/imgs/piyo.gif
ひよこが相手の一段目の空や森まですすむと、駒をひっくり返してニワトリに成長! ナナメ後ろ以外のマスにすすめます。
ttp://joshi-shogi.com/doubutsushogi/imgs/niwatori.gif
・相手のどうぶつがいるマスに自分の仲間がすすむときは、そのどうぶつをつかまえて仲間にできます。つかまえたどうぶつは持ち駒にできます。
・持ち駒は、自分の番のときに、空いている好きなマスに置けます。
<かちまけ>
1. 相手の「ライオン」を先につかまえたほうが勝ち!!
2. 自分の「ライオン」が、相手のエリア(空か森)まで先にすすめたら勝ち!! ただし、すすめてもすぐに「ライオン」がつかまってしまう場合は負けです。
ttp://www.joshi-shogi.com/doubutsushogi/rule.html
32デフォルトの名無しさん:2013/04/06(土) 17:26:59.50
TILE GAMEの完全解。

ttp://www.vector.co.jp/soft/dos/game/se004130.html
ルール
3x3(あるいは4x4など)の盤上で遊ぶオリジナルゲームです。
1.勝敗
盤面の空いたところに交互に自分の色のタイルを置き、向かい合った自分の辺と辺を、先に連絡した方が勝ちです。空いたところならどこに打ってもかまいません。
 □□□
■・・・■ ←3x3の・の位置に交互にタイルを置く
■・・・■
■・・・■
 □□□
「連絡する」とは、タイルの辺が縦・横に接した状態にすることです。斜めに並んでいても連絡したことになりません。
 □□□
■  □■
■■■■■ これは■が連絡しています。(■の勝ち)
■ □ ■
 □□□

 □□□
■□■■■ これは□が連絡しています。(□の勝ち)
■□□ ■
■ □ ■
 □□□
2.「切り違え」ると、相手のタイルを取り除く
■□
□・←
上のような状態で、■が・の場所に、斜めに並んだ相手のタイルを切るように打つ(切り違える)と、□の2枚は盤上から取り除かれます。
■□■
□・□
上のような状態では、■が・の場所に打つと、□の3枚が除かれます。
3.パスはできない
33デフォルトの名無しさん:2013/04/06(土) 17:28:43.91
34デフォルトの名無しさん:2013/04/14(日) 02:08:53.21
>>31
いくら成り金を組み入れたかったとはいえ、こんな狭い盤面での「にわとり」は最強すぎる‥‥
35デフォルトの名無しさん:2013/05/18(土) 18:39:00.39
>>31
ちょっと調べてみたけどこんな小さな盤面でも78手もかかるんだな。
36デフォルトの名無しさん:2013/06/02(日) 13:33:30.33
>>35
で「にわとり」の最強度はどれくらいです?やっぱり盤面全体を制圧するくらいの威力ですかね?
37デフォルトの名無しさん