PuzzleAndGame.com

ダブル数列のダンジョン

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

ダブル数列のダンジョン

● ダブル数列のダンジョン - LEVEL
LEVEL

 あなたはプログラミングが得意な冒険者です。あなたは、「ダブル数列のダンジョン」にたどり着きました。

 このダンジョンの扉を抜けるには、与えられた数値が「等差数列の一部」か「等比数列の一部」かを推測して、それに続く数値を答えなければなりません。

 このダンジョンは、下の階に行くほどレベルが上がり、答えを導き出すのが難しくなります。あなたは、プログラミングが得意な冒険者として、コードを工夫して、見事ダンジョンを攻略してください。

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


● 問題の内容

 数列の先頭の数値aと、2番目の数値bが与えられます。この数列は、以下の2つの条件のうち、どちらかを満たしています。


A. 10~99のいずれかの整数で始まり、2~9の整数の値ずつ大きくなる等差数列。
B. 10~99のいずれかの整数で始まり、2~9の整数の倍率で大きくなる等比数列。

「等差数列」は、各項の差が一定になっている数列です(例:2, 4, 6, 8, 10, ……)。

「等比数列」は、各項の比が一定になっている数列です(例:2, 4, 8, 16, 32, ……)。

 あなたは、与えられた2つの数値から、Aの数列であるかBの数列であるかを判断して、「与えられた2つの数値に続く数値」(先頭から3つ目の数値)を予測して、戻さなければなりません。

 以下、例を2つ示します。


例1)
 数値aが「33」、数値bが「38」。
 →「5」ずつ大きくなる等差数列と予測。
 →「38」に「5」を足して「43」を戻す。


例2)
 数値aが「22」、数値bが「44」。
 →「2」倍で大きくなる等比数列と予測。
 →「44」に「2」を掛けて「88」を戻す。

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


● ヒント

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


 最小最大といった極端な場合を考えれば、場合分けが分かります。


 等差数列では、9ずつ大きくなる等差数列が、最も大きな差を持ちます。そのため、「数値b-数値a」の最大値は「9」です。


 等比数列では、先頭の数値が10で、倍率が2の場合、最も小さな差となります。そのため、「数値b-数値a」の最小値は「10」です。


 「数値b-数値a」の値を見ることで、場合分けができます(より短く書きたい場合は、他の方法でも場合分け可能です)。

● 解答方法

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

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


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


● 初出と解説

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

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

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

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

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

レベル 平均 最短
1 23.27文字 13文字
2 33.76文字 13文字
3 78.73文字 22文字

● 素材

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

関連書籍


情報

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

Web Site : http://puzzleandgame.com/

App Page :

Twitter : ruten


Last Update : 2015-08-22

Release : 2015-08-22

First Appearance : 2014-05-26 CodeIQ

Copyright 2014 Masakazu Yanai.

QR コード