私はJavaScriptのアルゴリズムを使って "逆引き問題"を解決しています。私は頭の中でそれを試しました。はでなければなりませんが、JSFiddleで実行しようとするたびに応答しなくなります。私はそれが無限ループであるかもしれないと思うが、私はなぜそれほどよく分からない。ここでは、コードです:あなたがreverse(124)
を実行する場合逆引きとJavaScriptでの追加
HTML
<p id="test"></p>
JAVASCRIPT
var x = 124;
function reverse(n) {
for(var r = 0; n; n = Math.floor(n/10)) {
r *= 10;
r += n % 10;
}
return r;
}
while(x != reverse(x)) {
x =+ reverse(x)
}
document.getElementById("test").innerHTML = x
あなたは '= +'の代わりに '+ =' '持っwhile'ループで。私は 'x = reverse(x);ではなく' while'ループが必要であると思う理由がわかりません。 *編集*ああ待っています。しかし、 '= +'は構文エラーではありませんが、 '+ ='とまったく同じではありません。 – Pointy
'x = + reverse(x)'は 'x = + reverse(x)'に相当します。 1つの引数を持つ '+ 'は' 0 + Number(argument) 'と等価です。それは 'x = 0 + Number(reverse(x))'です。 'x'はすでに数値なので' x = reverse(x) 'だけです。 – Barmar
'reverse(x)'の結果を変数にキャッシュする必要があります。同じ操作を2回繰り返しています。 – Oriol