A última vez em que tentei criar algo fácil que não fosse duplicado, acabou sendo muito difícil. Então, espero que desta vez seja algo que os novatos também possam tentar.
Entrada:
Uma matriz / lista com números inteiros / decimais. (Ou uma sequência que representa uma matriz com números inteiros / decimais.)
Resultado:
Faça um loop pelos números e aplique os cinco operandos matemáticos a seguir nesta ordem:
- Adição (
+
); - Subtração (
−
); - Multiplicação (
*
ou×
ou·
); - Divisão Real / Calculadora (
/
ou÷
); - Exponenciação (
^
ou**
).
(NOTA: Os símbolos entre parênteses são apenas adicionados como esclarecimento. Se sua linguagem de programação usa um símbolo completamente diferente para a operação matemática dos exemplos, é claro que isso é completamente aceitável.)
Continue continuando até chegar ao final da lista e forneça o resultado da soma.
Regras do desafio:
- A exponenciação por 0 (
n ^ 0
) deve resultar em 1 (isso também se aplica a0 ^ 0 = 1
). - Não há casos de teste para divisão por 0 (
n / 0
), então você não precisa se preocupar com esse caso extremo. - Se a matriz contiver apenas um único número, retornamos isso como resultado.
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - As regras padrão se aplicam à sua resposta, para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados, programas completos. Sua chamada.
- As brechas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código.
Casos de teste:
[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
mas 0 ^ n = 0
. O conflito é resolvido definindo as n != 0
duas regras, mas deixa 0 ^ 0
indefinido. No entanto, existem muitas coisas que se encaixam perfeitamente na matemática, se isso 0 ^ 0
for definido 1
. Veja a Wikipedia para alguns detalhes.