Das letzte Mal, als ich versuchte, etwas Einfaches zu finden, das kein Duplikat war, war es viel zu schwer. Hoffentlich können es diesmal auch Neulinge versuchen.
Eingang:
Ein Array / eine Liste mit Ganzzahlen / Dezimalzahlen. (Oder eine Zeichenfolge, die ein Array mit Ganzzahlen / Dezimalzahlen darstellt.)
Ausgabe:
Durchlaufen Sie die Zahlen und wenden Sie die folgenden fünf mathematischen Operanden in dieser Reihenfolge an:
- Zusatz (
+
); - Subtraktion (
−
); - Multiplikation (
*
oder×
oder·
); - Real / Calculator Division (
/
oder÷
); - Potenzierung (
^
oder**
).
(HINWEIS: Die Symbole in Klammern werden nur zur Verdeutlichung hinzugefügt. Wenn Ihre Programmiersprache für die mathematische Operation ein völlig anderes Symbol als die Beispiele verwendet, ist dies natürlich völlig akzeptabel.)
Fahren Sie fort, bis Sie das Ende der Liste erreicht haben, und geben Sie dann das Ergebnis der Summe an.
Herausforderungsregeln:
- Die Potenzierung um 0 (
n ^ 0
) sollte zu 1 führen (dies gilt auch für0 ^ 0 = 1
). - Es gibt keine Testfälle für die Division durch 0 (
n / 0
), sodass Sie sich nicht um diesen Randfall kümmern müssen. - Wenn das Array nur eine einzelne Zahl enthält, geben wir dies als Ergebnis zurück.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methode mit den richtigen Parametern und vollständige Programme verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
Testfälle:
[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
aber 0 ^ n = 0
. Der Konflikt wird gelöst, indem n != 0
für beide Regeln Einstellungen vorgenommen werden, die jedoch 0 ^ 0
undefiniert bleiben. Es gibt jedoch eine Menge Dinge, die in der Mathematik gut zusammenpassen, wenn dies 0 ^ 0
so definiert ist 1
. Siehe Wikipedia für einige Details.