エンジニアのスキルを試すコードパズル ─この問題、あなたは解けますか?

第6回ハサミを使うタイミング~どうやって端を見つけるの─結城浩からの問題

問題

コンパスと定規とハサミを使って、与えられた長方形の紙を切りましょう。

コンパスと定規をどのように使うかは、以下の12ステップで例示してあります。

画像

この例はハサミを2回だけ使うものですが、ハサミをちょうど40回使うことになる長方形を探してください。


難易度
★☆☆☆(当該領域で、基礎的なことができれば解けると思われるレベル)
言語/領域(Perl、Pythonなど)
アルゴリズム
解答形式

ファイルアップロード形式

ハサミを40回使うことになる長方形の「縦の長さ」「横の長さ」サンプル解答用ファイル(Zipを解凍したフォルダ内にあるscissors.txt)にならって"縦の長さx横の長さ"の形式で書き、アップロードしてください。

解答評価のポイント
  • 縦の長さは横の長さよりも短くなければなりません(縦の長さ<横の長さ⁠⁠。
  • 採点対象となるのは解答ファイル「answer.txt」の1行目だけです。2行目以降には採点者(結城浩)あてのメッセージを自由にお書きください。たとえば自分が解答に至るまでに考えたことや作ったプログラムなどを書いてくださってもかまいません。ただし、answer.txtの内容は、Webサイトや書籍などに掲載される可能性があります。2行目以降に何も書かなくてもかまいません。
  • 文字コードや改行コードの差異は気にしなくても大丈夫です。
  • ハサミを40回使わない解答は失格になります。
  • ハサミを40回使う長方形を複数個見つけた場合でも、解答ファイル「answer.txt」の1行目だけが採点対象になります。
  • 長方形の面積が小さいものほど高得点になります。
  • 縦の長さと横の長さはいずれも正の整数とします。
挑戦を開始する前にご準備いただきたいもの

解答は、問題の指示にしたがって「answer.txt」というテキストファイルを作成し、解答画面からアップロードしていただきます。

その他注意事項
  • 一度挑戦を開始すると、解答を送信しなかった場合でも、1回目のチャレンジは終了となります。
  • 何度でも挑戦できますが、最新の挑戦のみが採点されます。
  • 白紙に近いなど、採点不能なものはフィードバックいたしかねます。
  • 優秀解答者/面白解答者は、結城浩さんが出版するかもしれない本でニックネームと解答内容と評価のポイントを掲載させていただくことがあります。
  • この問題の正解及びコードレビューは、技術評論社のサイトこの連載上にて行います。
  • 優秀な解答、面白い解答をいただいた方は、ニックネーム、解答内容、解答フィードバック内容を公開させていただく可能性があります。ご了承ください。
解答受付先
https://codeiq.jp/ace/yuki_hiroshi/q172
掲載期間(開始~終了)
1月22日(火)~1月30日(水)
採点可能人数
128人
想定時間(分)
30分~
制限時間
なし

おすすめ記事

記事・ニュース一覧