Esinlenen bu
Bağlantılı mücadelede, orijinalin elemanlarına ve giriş dizisinin tersine ekleme yapmamız istenir. Bu zorlukta, diğer temel matematik işlemlerini tanıtarak biraz daha zorlaştıracağız.
Tamsayı dizisi yoluyla çevrim göz önüne alındığında +, *, -, //, %, ^
, //
bölünme tamsayıdır ve ^
dizinin ters için uygulanırken, üssüdür. Ya da başka bir deyişle, yukarıdaki işlevlerden birini dizinin her öğesine uygulayın, ikinci argüman dizinin tersidir, işlev yukarıdaki listeden geçerken uygulanır. Bu hala kafa karıştırıcı olabilir, bu yüzden bir örnek üzerinden çalışalım.
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]
böylece için çıkış [1, 2, 3, 4, 5, 6, 7, 8, 9]
olacağını[10, 16, -4, 0, 0, 1296, 10, 16, 8]
Köşe vakalarını kapatmak için, girdi hiçbir zaman 0 içermez, ancak negatif sonsuzdan pozitif sonsuza kadar başka bir tamsayı içerebilir. İsterseniz, basamağı temsil eden dizelerin listesi olarak girdi alabilirsiniz.
Test senaryoları
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]
Bu bir kod golf çok kısa kod (bayt cinsinden) kazanır!