Java 两个给定数之间的每个数的Collatz猜想 num=Integer.parseInttf1.getText; entered=Integer.parseInttf1.getText; num2=Integer.parseInttf2.getText; entered2=Integer.parseInttf2.getText; 对于i=int num;i=i;j++{} System.out.printlni; }
我必须使用数组列表吗?ArrayList列表=新的ArrayListJava 两个给定数之间的每个数的Collatz猜想 num=Integer.parseInttf1.getText; entered=Integer.parseInttf1.getText; num2=Integer.parseInttf2.getText; entered2=Integer.parseInttf2.getText; 对于i=int num;i=i;j++{} System.out.printlni; },java,arraylist,collatz,Java,Arraylist,Collatz,我必须使用数组列表吗?ArrayList列表=新的ArrayList 如果我用它来分隔数组列表中的每一个数字,那么我找到了两个数字之间的数字,但是我如何得到每一个数字并进行collatz猜想java,请尽快给我帮助,collatz猜想很简单,n=n/2,如果n%2==0,n=3*n+1,如果n%2==1,你一直在做这些计算,直到n=1。基于此,您可以这样编写函数: public static List<Integer> calculateConjecture(int number)
如果我用它来分隔数组列表中的每一个数字,那么我找到了两个数字之间的数字,但是我如何得到每一个数字并进行collatz猜想java,请尽快给我帮助,collatz猜想很简单,n=n/2,如果n%2==0,n=3*n+1,如果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将保存当前编号的编号顺序,介于[SubderiorLimit,superiorLimit]之间