これに触発されて
リンクされたチャレンジでは、元の要素と入力配列の逆の要素に加算を適用するように求められます。この課題では、他の基本的な数学演算を導入することで、少し難しくします。
整数の配列が与えられた場合、を通過します+, *, -, //, %, ^
。ここで、//
は整数除算で、^
指数です。配列の逆に適用します。または、言い換えると、上記の関数のいずれかを配列の各要素に適用します。2番目の引数は配列の逆で、適用される関数は上記のリストを循環します。これはまだわかりにくいかもしれませんので、例を見てみましょう。
Input: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Reverse: [9, 8, 7, 6, 5, 4, 3, 2, 1]
[ 1, 2, 3, 4, 5, 6, 7, 8, 9]
Operand: + * - / % ^ + * -
[ 9, 8, 7, 6, 5, 4, 3, 2, 1]
Result: [10, 16, -4, 0, 0, 1296, 10, 16, 8]
そのための出力 [1, 2, 3, 4, 5, 6, 7, 8, 9]
可能です[10, 16, -4, 0, 0, 1296, 10, 16, 8]
コーナーケースをカバーするために、入力には0が含まれることはありませんが、負の無限大から正の無限大までの範囲の他の整数を含めることができます。必要に応じて、数字を表す文字列のリストとして入力を受け取ることができます。
テストケース
input => output
[1, 2, 3, 4, 5, 6, 7, 8, 9] => [10, 16, -4, 0, 0, 1296, 10, 16, 8]
[5, 3, 6, 1, 1] => [6, 3, 0, 0, 1]
[2, 1, 8] => [10, 1, 6]
[11, 4, -17, 15, 2, 361, 5, 28] => [39, 20, -378, 7, 2, 3.32948887119979e-44, 9, 308]
これはコードゴルフなので、最短のコード(バイト単位)が勝ちます!