吉里吉里/tjs2解説
\ *でFizzBuzz
最終更新:
tjs2
-
view
別の問題出すのも面倒なのでFizzBuzzはこれからも何度か使っていきます
// \ と * を使ってFizzBuzz
for(var i = 1; i < 101; i = i + 1) {
if (i == i \ 15 * 15) {
// 15の倍数( = 3と5の倍数)だったらFizzBuzzと表示
Debug.message("FizzBuzz");
} else if (i == i \ 3 * 3) {
// 3の倍数だったらFizzと表示
Debug.message("Fizz");
} else if (i == i \ 5 * 5) {
// 5の倍数だったらBuzzと表示
Debug.message("Buzz");
} else {
// 15,3,5の倍数では無かったたらiを表示
Debug.message(i);
}
}
ifの条件の部分が変わっています
なにをしているか分かるでしょうか?
なにをしているか分かるでしょうか?
\は割り算をして小数点以下を切り捨てます
*はただの掛け算です。
i\3で例を出します
*はただの掛け算です。
i\3で例を出します
i | \ 3 | * 3 | 真偽 |
1 | 0 | 0 | 偽 |
2 | 0 | 0 | 偽 |
3 | 1 | 3 | 真 |
4 | 1 | 3 | 偽 |
5 | 1 | 3 | 偽 |
6 | 2 | 6 | 真 |
7 | 2 | 6 | 偽 |
3で割り切れる時には、切り捨てられる小数点以下がないので3を再び掛けると元の数に戻ります
よって、i \ 3 * 3を元の数iと==で比べて同じだったら3の倍数です
よって、i \ 3 * 3を元の数iと==で比べて同じだったら3の倍数です
5,15についても同様です