Anreden.
Ich poste in dieser Serie Codewars-Herausforderungen und meinen Denkprozess. Ich verwende wann immer möglich JS und Node 18. Nur der Klarheit halber nutze ich sie fair.
Als nächstes in dieser Reihe geht es um die Summe der Zahlen. Bei diesem speziellen Problem geht es mehr um Mathematik als um Codierung. Sehen Sie, Sie müssen eine Fläche berechnen. In dieser Grafik zeigen wir beispielsweise alle Werte zwischen -5 und 4:
Sie können die Integration verwenden, wenn Sie dies wünschen, aber es gibt einen einfacheren Weg. Da es sich um lineare Funktionen handelt, können wir nach dem Median suchen und für den Bereich multiplizieren:
Wir müssen also nur diese Gleichung in den Code einfügen. Es beginnt so:
function getSum(a, b) { //Good luck! }
function getSum(a, b) { let sum = (b ** 2 - a ** 2 + b + a ) / 2 ; return sum; }
Wir testen es und:
Aber warum? Ich weiß, dass die Gleichung richtig vereinfacht ist, also... Oh. Das ist das Problem:
getSum(a, b)
(a,b) in genau dieser Reihenfolge. Es funktioniert, wenn die Eingabe (-5,4) ist, aber nicht, wenn sie (4,-5) ist. Fix? Sie könnten für beide Situationen eine „if“-Anweisung codieren. So werde ich es allerdings nicht machen. Ich mache das:
if (a > b){ let c = a; a = b; b = c; }
Und so haben wir alles zusammengestellt:
function getSum(a, b) { if (a > b){ let c = a; a = b; b = c; } let sum = (b ** 2 - a ** 2 + b + a ) / 2 ; return sum; }
Einigermaßen ordentlich, leicht zu lesen.
Cya. Wasser trinken???.
Zurück
Das obige ist der detaillierte Inhalt vonCodewars – Einsteigerserie #um of Numbers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!