LoginSignup
2
3

More than 5 years have passed since last update.

1+2+3+…と足される数を1ずつ増やしながら足していき、和が1000を超えるときの足される数値と、合計値を表示

Posted at
<!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

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3