Коллатц
Математика полна занятных фактов: простые правила порой приводят к неожиданным результатам. Например, гипотеза Коллатца утверждает, что два простых правила позволяют свести любое целое число к 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");
}
}