Вдохновленный этим
В связанном задании нас просят применить дополнение к элементам оригинала и обратное к входному массиву. В этом задании мы немного усложним его, введя другие основные математические операции.
Получив массив целых чисел, переберите +, *, -, //, %, ^
, где //
есть целочисленное деление и ^
экспонента, применяя его к обратной части массива. Или, другими словами, примените одну из вышеперечисленных функций к каждому элементу массива, причем второй аргумент является обратным к массиву, а функция применяется для циклического перемещения по приведенному выше списку. Это все еще может сбивать с толку, поэтому давайте рассмотрим пример.
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]
Это код-гольф, поэтому выигрывает самый короткий код (в байтах)!