PuzzleAndGame.com

スーパー楕円のダンジョン

※ バグを見つけたら、お気軽にご連絡ください(メール/Twitter

スーパー楕円のダンジョン

● スーパー楕円のダンジョン - LEVEL
LEVEL

 あなたはプログラミングが得意な冒険者です。あなたは、魔王が復活仕掛けている封印のダンジョンにやって来ました。

 そのダンジョンは、別名「スーパー楕円のダンジョン」と呼ばれており、魔王の復活を阻止するためには、「スーパー楕円の封印」を描かなければなりません。

 このダンジョンは、各階で封印を描かなければなりませんが、下の階に行くほどレベルが上がり、実施が難しくなります。

 あなたは、プログラミングが得意な冒険者として、コードを工夫して「スーパー楕円の封印」を描き、見事ダンジョンを攻略してください。

(この問題はCodeIQが初出です。詳しくはページ末の初出と解説をご覧下さい)


● スーパー楕円とは

 デンマークの科学者ピート・ハイン(1905~1996)が提唱した図形です。

 通常の楕円は「(x/a)2 + (y/b)2 = 1」ですが、この2乗の部分が2よりも大きな数の楕円が、「スーパー楕円」になります。

 式で表すと以下になります。


(|x|/a)p + (|y|/b)p = 1 (ただし p > 2)

● 問題の内容

 以下の数式で表される2つの楕円を、指定の数値で塗りつぶします。2つの楕円が重なる場合は、合計の数値で塗りつぶします。

種類 数式 塗り潰す値
スーパー楕円1 (|x|/32)3 + (|y|/8)3 <= 1 1
スーパー楕円2 (|x|/16)3 + (|y|/16)3 <= 1 2

 塗り潰したサンプルは以下です。

 xの値は「-36~36」、yの値は「-18~18」の整数です。上記のサンプルのような結果を戻すプログラムを書いてください。

 本問題では、この問題の答えを表すコードを、入力欄に記載します。


● ヒント

 ヒントなしで解きたい方は、ヒントを表示しないで挑戦してください。下の方のヒントほど、より直接的なヒントになります。


 今回は、法則性の問題ではありません。変数を使って、値を上手く格納していけば、短く書けます。また、意外に禁止文字は少ないので、いろいろな構文が使えます。

● 解答方法

「禁止文字を使わず」「指定の文字数内に収まる」ように、以下の入力欄(下記コードのの部分)を埋めてください。改行は1文字として数えます。

※ 初出時のレギュレーション:解答の確認は、出題時点で最新の「Google Chrome」としていました。


● 問題
◆ 条件
レベル切り替え: 問題トップ
◆ 解答入力コード
◆ 出力


● 初出と解説

 本問題の初出はCodeIQになります。その問題を、転載の許可を取って、本サイトに掲載しています。

 「CodeIQ」は、ITエンジニア向け実務スキル評価サービスです。転職サイトの一種ですが、現在転職の希望がなくても利用できます。ここでは楽しいプログラミングの問題が、多数出題されています。かく言う私も、様々な変わった問題を出しています。おすすめです。

CodeIQ(本家サイト、多数の問題が出題)、CodeIQ JOBS(転職情報がまとまっているページ)

 本問題の解説記事は、以下から読めます。

 各レベルの最短文字数は、以下の通りです。(特殊な値の取り方をしたコードは省いています)

レベル 平均 最短
1 115.23文字 57文字
2 106.02文字 60文字
3 154.14文字 94文字

● 素材

 本問題の画像は、パブリックドメインの画像と、以下のページの素材を利用しています。

関連書籍


情報

開発&著作権者 : 柳井 政和

Web Site : http://puzzleandgame.com/

App Page :

Twitter : ruten


Last Update : 2015-08-22

Release : 2015-08-22

First Appearance : 2014-01-29 CodeIQ

Copyright 2014 Masakazu Yanai.

QR コード