Collatz Sequence - печать каждой последовательности от 1 до N - PullRequest
0 голосов
/ 23 октября 2018

У меня есть это задание 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); `

не идти.пожалуйста, помогите мне отладить это.

1 Ответ

0 голосов
/ 24 октября 2018

Решено: добавь: раньше времени

for (i = 1; i <= n; i = i+1){
                hail = i;       // we need to make sure i isn't run over            
                int counter = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...