<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>和が1000を超えるときの足される数値と合計値</title>
</head>
<body>
<script>
///1+2+3+…と足される数を1ずつ増やしながら足していき、
///和が1000を超えるときの足される数値と合計値を表示してください。
var i = 1;//足される数をiと定義し、初期値1を代入
var sum = 0; //今までの和の初期値に0を代入
while (sum <= 1000) {//和が1000以下ならループ
sum = sum + i; //現在の和にiを足す sum += i でもOK。
//ここまでで、sum= 990 + 45=1035 が成立
i++ //i を一つ増やす
//iが46になった
//45番目を知りたいから1引く
document.write('<p>足される数値: ' + (i-1) + '</p>' );
document.write('<p>合計値: ' + sum + '</p>');
}
</script>
</body>
</html>
足される数値: 1
合計値: 1
足される数値: 2
合計値: 3
足される数値: 3
合計値: 6
足される数値: 4
合計値: 10
足される数値: 5
合計値: 15
〜〜〜中略〜〜〜
足される数値: 44
合計値: 990
足される数値: 45
合計値: 1035
#最終的な数値だけを出したい
sum = sum + i;
と i++
の順序を入れ替えてみた
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>和が1000を超えるときの足される数値と合計値</title>
</head>
<body>
<script>
///1+2+3+…と足される数を1ずつ増やしながら足していき、
///和が1000を超えるときの足される数値と合計値を表示してください。
var i = 0;//足される数をiと定義し、初期値0を代入
var sum = 0; //今までの和の初期値に0を代入
while (sum <= 1000) {//和が1000以下ならループ
i++ //45 になってから
sum = sum + i; //(sum += i でもOK)。sum= 990 + 45=1035 が成立
}
document.write('<p>足される数値: ' + (i) + '</p>' );
document.write('<p>合計値: ' + sum + '</p>');
</script>
</body>
</html>
足される数値: 45
合計値: 1035