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.
Das nächste ist schwierig für uns, Leute, die mit Mathe Schwierigkeiten haben. Es ist allerdings eine schöne Herausforderung. Im Wesentlichen geht es darum, die Summe von „n“ Würfeln zu ermitteln. Dann gibt es noch etwas schwarze Magie (auch bekannt als: Algebra) et voilà! Gelöst.
Würfelsumme mit Beweis erklärt.
Vollständige Lösung:
function findNb(m) { // sum of n cubes = ( n^2 * (n+1)^2 ) / 4 let number = m * 4; number = number ** (1/2); let numberAux = number ** (1/2); let floor = Math.floor(numberAux); let ceiling = (Number.isInteger(numberAux)) ? floor + 1 : Math.ceil(numberAux); if ( floor * ceiling == number ){ return floor; } return (-1); }
Warum berechnen wir Boden und Decke? Denn wenn das Argument m tatsächlich eine Summe von „n“ Würfeln darstellt, dann ist numberAux TEILWEISE die Zahl, nach der wir suchen. Wir brauchen nur den ganzzahligen Teil. Welches ist „n“. Und es ist auch Boden.
Wenn „m“ keine Summe von Würfeln darstellt, gibt die Funktion -1 zurück. Keine große Sache.
Es funktioniert. Ich weiß allerdings nicht, ob ich in 6 Monaten etwas verstehen werde.
Pass auf dich auf. Wasser trinken???.
Zurück
Das obige ist der detaillierte Inhalt vonCodewars – Baue einen Stapel Würfel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!