吉里吉里/tjs2解説

回答例


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

// whileを使ってFizzBuzz

var i = 1;

while(i < 101) {
    if (i % 15 == 0) {
        // iが15で割り切れたらFizzBuzzと表示
        Debug.message("FizzBuzz");
    } else if (i % 3 == 0) {
        // iが3で割り切れたらFizzと表示
        Debug.message("Fizz");
    } else if (i % 5 == 0) {
        // iが5で割り切れたらBuzzと表示
        Debug.message("Buzz");
    } else {
        // 割り切れなかったらiをそのまま表示
        Debug.message(i);
    }
    i = i + 1;  // これを書かないと無限ループ!
}
whileで「変数iが101より小さい間」、つまり100になるまでループさせています
割り切れる、というのはその数で割ったときに0になるという事です
また、「3と5の両方で割り切れる」というのは「15で割り切れる」という事と同じです
15では割り切れなくても、3で割り切れたらFizz,5で割り切れたらBuzzを表示します
結局どれでも割り切れなかったらelseで変数iの数字をそのまま表示

// 「3と5の両方で割り切れる」で書き換えてみる
    if(i % 5) {
        if(i % 3) {
        // iが3と5で割り切れたらFizzBuzzと表示
            Debug.message("FizzBuzz");
        }
    }
最初のifの部分を、ifを2つ重ねてこのように書いても大丈夫です
少し長くなるので「15で割り切れる」の条件を使っただけです

※ifを重ねずに論理AND演算子&&を使ってもOKです
 まだ説明してないので使ってません
 知らない人は気にせずに。いずれ説明します

更新履歴

取得中です。