Javascript-Programm zum drucken einer Zahlenfolge in umgekehrter
Ich verstehe nicht, warum die unter JavaScript-Programm gibt die Antwort in die Unendlichkeit. Was mache ich falsch? Ich bin ein Neuling, und wäre dankbar, eine ausführliche Erklärung!
Bitte beachten Sie, dass diese erreicht werden muss, mithilfe von Mathematik und von mathematischen Funktionen, keine string-Funktionen oder arrays!
<script type = "text/javascript">
var input;
var rev = 0;
input=window.prompt ("Please enter a 5-digit number to be reversed.");
input = input * 1;
while (input > 0)
{
rev *= 10;
rev += input % 10;
input /= 10;
}
document.write ("Reversed number: " + rev);
</script>
- Sie scheinen die Antwort bereits, also wahrscheinlich gibt es keinen Punkt posting woanders, aber für die Zukunft Hinweis: diese Seite ist für Rätsel in dem Sinne der Spiele. Für die Rätsel in dem Sinne von bugs, die Sie nicht verstehen, die wichtigsten StackOverflow-Seite ist den entsprechenden.
- Es kann (und sollte) noch migriert werden, um Ihren richtigen Platz.
- außer, dass der richtige Ort ist nicht eine option in der migration Zielen. Die einzige option ist, meta.codegolf, aus irgendeinem Grund.
- Verlassen, dass den mods. Sie können tun, was wir können niemals verlangen.
- Ich habe angefangen, ein thread auf meta
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Linie:
input /= 10;
nicht Ergebnis in eine Ganzzahl.Sie am Ende mit einer Sequenz wie dieser:
Dieser nie zuvor auf 0, so dass deine while-Bedingung einfach immer weiter, bis es erreicht 1e-323, dann die Nummer läuft aus Präzision und geht auf 0.
Wenn Sie ersetzen die
input /= 10;
Linie mitinput = Math.floor(input/10);
dann funktioniert es.Denn dies ist der code, den golf, die Sie wahrscheinlich nicht verwenden möchten, Math.Fußboden. Es ist ein kleineres, ich werde sehen, ob ich es finden kann erneut.
Können Sie
input = ~~(input/10);
zur Verfügung gestelltinput
ist immer positiv.