La última vez que intenté encontrar algo fácil que no fuera un duplicado, terminó siendo demasiado difícil ... Así que espero que esta vez sea algo que los recién llegados puedan probar también.
Entrada:
Una matriz / lista con enteros / decimales. (O una cadena que representa una matriz con enteros / decimales).
Salida:
Recorra los números y aplique los siguientes cinco operandos matemáticos en este orden:
- Suma (
+
); - Resta (
−
); - Multiplicación (
*
o×
o·
); - División Real / Calculadora (
/
o÷
); - Exponenciación (
^
o**
).
(NOTA: Los símbolos entre paréntesis solo se agregan como aclaración. Si su lenguaje de programación usa un símbolo completamente diferente para la operación matemática que los ejemplos, entonces eso es, por supuesto, completamente aceptable).
Continúa hasta llegar al final de la lista y luego da el resultado de la suma.
Reglas de desafío:
- La exponenciación por 0 (
n ^ 0
) debería dar como resultado 1 (esto también se aplica a0 ^ 0 = 1
). - No hay casos de prueba para la división por 0 (
n / 0
), por lo que no tiene que preocuparse por ese caso límite. - Si la matriz contiene solo un número, lo devolvemos como resultado.
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de codegolf. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados, programas completos. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
Casos de prueba:
[1,2,3,4,5] -> 0
-> 1 + 2 = 3
-> 3 - 3 = 0
-> 0 * 4 = 0
-> 0 / 5 = 0
[5,12,23,2,4,4,2,6,7] -> 539
-> 5 + 12 = 17
-> 17 - 23 = -6
-> -6 * 2 = -12
-> -12 / 4 = -3
-> -3 ^ 4 = 81
-> 81 + 2 = 83
-> 83 - 6 = 77
-> 77 * 7 -> 539
[-8,50,3,3,-123,4,17,99,13] -> -1055.356...
-> -8 + 50 = 42
-> 42 - 3 = 39
-> 39 * 3 = 117
-> 117 / -123 = -0.9512...
-> -0.9512... ^ 4 = 0.818...
-> 0.818... + 17 = 17.818...
-> 17.818... - 99 -> -81.181...
-> -81.181... * 13 = -1055.356...
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] -> 256
-> 2 + 2 = 4
-> 4 - 2 = 2
-> 2 * 2 = 4
-> 4 / 2 = 2
-> 2 ^ 2 = 4
-> 4 + 2 = 6
-> 6 - 2 = 4
-> 4 * 2 = 8
-> 8 / 2 = 4
-> 4 ^ 2 = 16
-> 16 + 2 = 18
-> 18 - 2 = 16
-> 16 * 2 = 32
-> 32 / 2 = 16
-> 16 ^ 2 = 256
[1,0,1,0,1,0] -> 1
-> 1 + 0 = 1
-> 1 - 1 = 0
-> 0 * 0 = 0
-> 0 / 1 = 0
-> 0 ^ 0 = 1
[-9,-8,-1] -> -16
-> -9 + -8 = -17
-> -17 - -1 = -16
[0,-3] -> -3
-> 0 + -3 = -3
[-99] -> -99
n ^ 0 = 1
pero 0 ^ n = 0
. El conflicto se resuelve estableciendo n != 0
ambas reglas, pero luego se deja 0 ^ 0
indefinido. Sin embargo, hay muchas cosas que encajan bien en matemáticas si 0 ^ 0
se define como tal 1
. Ver Wikipedia para algunos detalles.