У меня есть это задание HW, в котором я застрял: мне нужно написать последовательность от 1 до N заданного начального числа.например: если пользователь вводит 4 v, то мне нужно записать каждую строку от первой последовательности до 4-й, а затем записать, сколько достигло 1 в конце, и посчитать количество чисел.пример:
1 4 2 1 (4)
2 1 (2)
3 10 5 16 8 4 2 1 (8)
4 2 1 (3)
s.o.p :The first 4 hailstone sequences reached 1.
если пользователь вводит 7 c, тогда мне нужно только написать предложение. Первые 4 последовательности града достигли 1.
. До сих пор я написал код для части vчасть, которая работает: открытый класс Collatz {
public static void main(String[] args){
int n = Integer.parseInt(args[0]);
String str = String.valueOf(args[1]);
int counter = 1;
if (str.equals("v")) {
while (n != 1)
{
System.out.print(n + " ");
// If n is odd
if ((n & 1) == 1) {
n = 3 * n + 1;
}
// If even
else{
n = n / 2;
}
counter++;
}
// Print 1 at the end
System.out.print(n + " (" + counter + ")");
}
}
}
Я попытался поставить цикл for для печати от 1 до n, чтобы печатать как мой пример, но это не такт, моя попытка:
` for (int i = 1; i < n; i = i+1){
while (i!= 1) {
System.out.print(i + " ");
// If n is odd
if ((i & 1) == 1)
i = 3 * i + 1;
// If even
else
i = i / 2;
}
// Print 1 at the end
System.out.print(i); `
не идти.пожалуйста, помогите мне отладить это.