Code Reviewでライバルの友人から寄せられたこの質問に触発されました。
定義
スーパーアレイは、アレイ内の各新しい要素は、以前のすべての要素の合計よりも大きい配列です。{2, 3, 6, 13}
スーパーアレイです
3 > 2
6 > 3 + 2 (5)
13 > 6 + 3 + 2 (11)
{2, 3, 5, 11}
なぜならスーパーアレイではないからです
3 > 2
5 == 3 + 2
11 > 5 + 3 + 2
大型のアレイは、アレイ内の各新しい要素は、以前のすべての要素の積よりも大きい配列です。{2, 3, 7, 43, 1856}
はスーパー配列ですが、それはまた、より大きな配列です
3 > 2
7 > 3 * 2 (6)
43 > 7 * 3 * 2 (42)
1856 > 43 * 7 * 3 * 2 (1806)
チャレンジ
言語のネイティブリスト形式で入力として配列を受け取り、配列がどの程度スーパーであるかを決定する関数またはプログラムを作成します。オプションで、配列の長さを入力することもできます(C / C ++などの言語の場合)。それはだ場合はまた、あなたがリスト内の数字のすべてが整数に0よりも大きくなることを想定することができ、スーパーの配列、あなたは印刷する必要がありIt's a super array!
、それがある場合には、超大型の配列は、あなたは印刷する必要があり、It's a super duper array!
配列はduper-もすることも可能です非スーパー。たとえば、{1, 2, 3}
この場合、It's a duper array!
配列がスーパーでもデュパーでもない場合は印刷する必要があります。偽の値を印刷できます。
いつものように、これはコードゴルフであるため、標準の抜け穴が適用され、バイト単位の最短回答が勝ちます。
{1, 2, 3}
アレイのための「超非スーパー」を意味していたと確信していますか?
2 * 1
平等3
になった。
super[space][space]array
許可されればさらに節約できます。