Terinspirasi oleh ini
Dalam tantangan yang ditautkan, kami diminta untuk menerapkan tambahan pada elemen asli dan kebalikan dari array input. Dalam tantangan ini, kita akan membuatnya sedikit lebih sulit, dengan memperkenalkan operasi matematika dasar lainnya.
Diberikan array bilangan bulat, siklus melalui +, *, -, //, %, ^
, di mana //
divisi bilangan bulat dan ^
eksponen, sambil menerapkannya ke kebalikan dari array. Atau, dengan kata lain, terapkan salah satu fungsi di atas untuk setiap elemen array, dengan argumen kedua adalah kebalikan dari array, dengan fungsi yang diterapkan bersepeda melalui daftar di atas. Ini mungkin masih membingungkan, jadi mari kita bekerja melalui contoh.
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]
jadi output untuk [1, 2, 3, 4, 5, 6, 7, 8, 9]
menjadi[10, 16, -4, 0, 0, 1296, 10, 16, 8]
Untuk menutup kasus sudut, input tidak akan pernah berisi 0, tetapi dapat berisi bilangan bulat lain dalam kisaran dari infinity negatif hingga infinity positif. Anda dapat mengambil input sebagai daftar string yang mewakili digit jika Anda mau.
Uji kasus
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]
Ini adalah kode-golf sehingga kode terpendek (dalam byte) menang!