2013年2月28日

CodeStudy 12-10 continue のこと


今回は 制御文 のまとめをする前の復習として、CodeStudy 12-10 の continue をやってみます。

問題


while 文を使用して、変数 i = 1~100 までのうち、7 で割り切れる数字を、変数 count に全て足したらいくつになるか計算して、それを output ( ) で出力してください。



var i = 1;
var count = 0;

//ここにループを書きましょう。
while (i <= 100) {
    i ++;
    if (i % 7 != 0) {
        
continue;

    } else {
        count += i;
    }
}

output (count);



赤字の部分が 自分で書く必要のある所です。
赤字の部分の
1行目で、while 文を使って繰り返しの処理をしています。繰り返しの条件は、i が 1~100 ですので、100以下 となるように i <= 100 にしました。i は 1づつ増やすので、i < 101 でも良いかも知れません。

2行目 i を 1 増やしていますが、これは i が7になる迄は、count に足される事が無いというのが 予め判っているのでこれでも良いのですが、予め判らない場合は if 文で 分けた処理のそれぞれ最後に i ++ を入れるのが良いと思います。

3~6行目 if 文を使って i が 7 で割り切れるかを判定しています。not 演算子 ( ! ) を使って 7 で割り切れない場合に continue でループを 1回スキップさせて、割り切れる場合は else 以下で i の値を count に足しています。これは not 演算子を使わないで、


if (i % 7 == 0) {
    count += i;
} else {
    continue;
}


このように書いても同じですが、これだと continue を使わなくても同じになってしまうので、回答例のようにしました。
この例題でも、インクリメントをちゃんと入れないと無限ループになってしまうので、注意して下さい。



よろしければこちらの記事もどうぞ

 CodeStudy の問題に挑戦した記事の一覧

0 件のコメント:

コメントを投稿