問題文
解答例
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int n = scanner.nextInt();
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 && i % 5 == 0) {
System.out.println("Fizz Buzz");
} else if (i % 3 == 0) {
System.out.println("Fizz");
} else if (i % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(i);
}
}
}
}
}
補足
- 値が指定の数の倍数かどうかは、その数で割ったときの余りが0になるかどうかをチェックすればよい
- Javaであれば%による演算で余りを確認できる
-
i % 3 == 0
やi % 5 == 0
のチェックの前にi % 3 == 0 && i % 5 == 0
のチェックを持ってくるのがポイント。これが前後すると、例えば15等の3の倍数かつ5の倍数が来た時に正しい答えを得られない
Fizz Buzz問題はたまに企業のスキルチェックとかで出てきたりするので、一応こういう問題も解けるようになっておいたほうが良い。