コラッツ
数学のちょっとした豆知識として、シンプルな規則から大きな結果が生まれることがあります。たとえば Collatz Conjecture(コラッツ予想)は、2つの簡単な規則で任意の整数を 1 にまで減らせるかを問うものです。 一般的な言い方は次のとおりです。
- 偶数なら 2 で割る
- 奇数なら 3 を掛けて 1 を足す さっそく試してみましょう!
注意: コードがタイムアウトする場合は、if-else 文のロジック(またはヒント)をよく確認してください。
この演習はコースの一部です
中級 Java
演習の手順
- 適切な終了条件を入力します。
nが偶数かどうかを判定するメソッドを呼び出します。- 奇数の場合を正しく処理します。これは「元の」
nが奇数のときにのみ発動する必要があります。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
class Collatz {
static boolean isEven(int n) {
return n % 2 == 0;
}
public static void main(String[] args) {
int n = 1634;
int i = 0;
System.out.print(n);
// Enter the appropriate termination condition
while (____) {
// Call a method to check if n is even
if (____(n)) {
System.out.println(" is even");
n /= 2;
} // Handle the odd case correctly. All non-even integers are odd
____ {
System.out.println(" is odd");
n = n * 3 + 1;
}
System.out.print(n);
i += 1;
}
System.out.println(" reached in " + i + " steps");
}
}