两个给定数字之间的每个数字的 Collat​​z 猜想

Collatz conjeceture for each number that is between the two given numbers

num = Integer.parseInt(tf1.getText());
entered = Integer.parseInt(tf1.getText());
num2 = Integer.parseInt(tf2.getText());
entered2 = Integer.parseInt(tf2.getText());

for (i =(int) num; i<= num2 ; i++){ 

    for (j=0 ; j >= i ; j++) {} 

    System.out.println(i);
}

我必须使用数组列表吗? ArrayList<Integer> lists = new ArrayList<Integer>();

如果我使用它如何分隔数组列表中的每个数字,所以我找到了两个数字之间的数字但是我如何取每个数字并进行 collat​​z 猜想 java,我需要快帮忙

collat​​z 猜想很简单 n = n/2 if n%2 == 0n = 3*n + 1 if n%2 == 1,您一直在进行这些计算直到 n = 1。基于此,您可以这样编写函数:

public static List<Integer> calculateConjecture(int number) {
    List<Integer> values = new ArrayList<>();

    while (number != 1) {
        if (number % 2 == 0) {
            number = number / 2;
        } else {
            number = 3 * number + 1;
        }
        values.add(number);
    }

    return values;
}

public static void main(String[] args) {
    int inferiorLimit = 11;
    int superiorLimit = 15;

    for (int i = inferiorLimit; i <= superiorLimit; i++) {
        System.out.println(calculateConjecture(i));
    }

}

values ArrayList 将保存 [inferiorLimit,superiorLimit]

之间当前数字的数字序列