時々、私が本当に退屈しているとき、非負の整数の配列の合計を取るのが好きです。2のべき乗である長さの配列の合計のみを取ります。残念ながら、私はしばしば間違いを犯します。幸いなことに、私は自分の仕事を次のように追跡しながら追跡しています。
残りの番号が1つになるまで、隣接する番号のペアを追加します。例えば:
6 + 18 + 9 + 6 + 6 + 3 + 8 + 10
= 24 + 15 + 9 + 18
= 39 + 27
= 66
仕事は、私がどこかで間違いを犯したかどうかを判断することです。入力を関数に渡すか、標準入力から読み取ることができます。出力は印刷するか返すことができます。
入力:配列/リスト/など。非負の整数、および言語で必要な場合はその配列の長さも含まれます。その配列は、左から右、次に上から下に読み取られるすべての数字になります。例えば、上記の配列はなる:
[[6, 18, 9, 6, 6, 3, 8, 10], [24, 15, 9, 18], [39, 27], [66]]
または
[6, 18, 9, 6, 6, 3, 8, 10, 24, 15, 9, 18, 39, 27, 66]
あなたが好む場合。
出力:間違いがあったかどうかを表す単一のブール値。ブール値は、ミスが発生したすべての入力が同一の結果を返す/印刷し、ミスを含まないすべての入力が同一の結果を返す/印刷する場合、マッピングを使用して表すことができます。言うまでもなく、これらの2つの出力を同じにすることはできません。
正しい合計の例:
6
5+6
=11
3 + 2 + 4 + 5
= 5 + 9
= 14
[0, 1, 2, 3, 1, 5, 6]
[[1, 2, 4, 8], [3, 12], [15]]
誤った合計の例:
5+4
=8
4 + 4 + 4 + 4
= 9 + 7
= 16
[[1, 2, 3, 4], [7, 3], [10]]
[3, 4, 5, 6, 7, 8, 9]
間違いを犯しても正しい答えが得られることを忘れないでください。私が間違いを犯した場合、最終的な配列に余分な数字や欠落した数字が生じることは決してありません。間違った数字のみです。
標準的な抜け穴は禁止されています。各言語の最短回答が勝者です。同点の場合、古い回答が勝ちます。「同じ言語」が何であるかを決定する権利は保持しますが、Python 2とPython 3の両方でポイントを獲得することはできません。
[0,1,2,3,1,5,6]
「入力:正の整数の配列/リストなど」のため、この例は無効です。