今回は簡単な挑戦です。正の整数の配列を指定して、A(またはあなたの言語で同等)、各エントリ置き換えるAを、私は、次の合計とAのi個のの要素A、十分なアイテムが存在しない場合は、最初からバックをサイクリング。
いつものように、これらの抜け穴はデフォルトで禁止されていることに注意しながら、任意のプログラミング言語で競争し、標準的な方法および合理的な形式で入力を取得し、出力を提供できます。オプションで、入力としてAのサイズを取ることもできます。これはcode-golfであるため、すべての言語の最短の送信(バイト単位)が優先されます。
例/テストケース
与えられた場合[1,3,4,5]
、あなたのコードは[3,10,13,14]
、に1
置き換えられますので3
、3
に置き換えられます4+5+1=10
(最初からどのように折り返されたかに注意してください)、4
by 5+1+3+4=13
および5
by 1+3+4+5+1=14
。
与えられた[3,2,1,9]
、あなたのプログラムが生成しなければならない[12,10,9,33]
、我々は代用ので、3
と2+1+9=12
、2
と1+9=10
、1
と9
と9
と3+2+1+9+3+2+1+9+3=33
(私たちは戻って最初から複数回包まれた方法に注目してください)。
いくつかのテストケースから選択できます。
[4,3,2,1] -> [10,7,5,4]
[3,2,1,9] -> [12,10,9,33]
[1,3,4,5] -> [3,10,13,14]
[4,4,3,2,2] -> [11,11,8,6,8]
[3,5,3,2,1] -> [10,14,6,4,3]
[3,2,4,3,2,1,1] -> [9,7,7,4,2,1,3]
[7,8,6,5,4,3,2,1,5] -> [29,33,20,15,11,8,6,5,30]
[28,2,4,2,3,2,3,4,5,3] -> [137,6,10,5,9,7,12,38,39,34]
[1,2,3,4,5,4,3,2,1,2,3,4,3,2,1] -> [2,7,13,14,12,8,5,3,2,7,9,7,4,2,1]