2017-04-03 6 views
0

なぜNumIterationsが変更されているのかわかりません。それはループの外です。それは5のままにする必要がありますが、合計は2で指数関数的に更新する必要があります。forループの外側で更新されている数値

var NumIterations = 5; 

    document.write ("<b>Sequence of numbers up to iteration number: </b>", NumIterations); 


var sum = 0.01; 

for (var i=0; i<=NumIterations; i++) 

    { 
     document.write (sum + "<br/>"); 
     sum=sum*2; 
    } 
+2

を印刷 ' document.write'呼び出しが原因でDOMがリロードされている可能性があります。 'console.log'で置き換えるとどうなりますか? (いつでもDOMにロードされる場所と場所に応じて意図しない結果をもたらす可能性があるため、可能な限り、 'document.write 'を使用しないでください) – Amy

+1

あなたのコードの動作をより正確に記述してください – Alnitak

答えて

0

変化しません。あなたのコードが書かれている方法は、それが"Sequence of numbers up to iteration number: "+5+"0.01"と書かれているので、「繰り返し回数までのシーケンス:50.01」と書かれているようですが、それは0.01より前にブレークが必要なためです。

最初の部分の後に<br/>を追加すると、期待どおりに機能します。

var NumIterations = 5; 
 

 
document.write("<b>Sequence of numbers up to iteration number: </b>"); 
 
document.write(NumIterations); 
 
document.write("<br/>"); 
 

 
var sum = 0.01; 
 

 
for (var i = 0; i <= NumIterations; i++) 
 

 
{ 
 
    document.write(sum + "<br/>"); 
 
    sum = sum * 2; 
 
}

+0

期待している出力と比較すると、これは正しくありません。 'document.write()'の2番目のパラメータは、ms単位で遅れます。 –

+1

うーん..私はそうは思わない... –

+0

私の悪い、。うん、私は間違っていた –

0

あなたのNumIterationssumをsepareteするために、あなたが印刷を合計する前に、単に "<br>" を追加し、論理的にエラーを持っていない

var NumIterations = 5; 
document.write ("<b>Sequence of numbers up to iteration number: </b>", NumIterations); 
var sum = 0.01; 
for (var i=0; i<=NumIterations; i++){ 
    document.write ("<br/>"+ sum); 
    sum=sum*2; 
} 

Working

関連する問題