それぞれのJavaをどのように使用するかについて本当に混乱しています-正しいループ。誰か助けてもらえますか?
さて、これが取引です。コラッツの問題が拡張され、頭から離れることができません。重要なのは、2つの変数xとyの間の範囲のすべてのCollatz反復をリストしたいということです。ここで、x> yは0〜10000の範囲です。私の問題は、2番目のフロアループで、値の各数値に対してコラッツ計算全体を実行したいので、値= 7の場合、x = 7(16)などのyまでのコラッツ反復を計算したいということです。 = 19(20)、シーケンス全体は16、3、19、6、14、9、9、17、17、4、12、20、20です。これはJavaで行っています。
java.utilをインポートします。; java.langをインポートします。;
パブリッククラスhackCollatz{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int x;
int y;
int result = 0;
System.err.print("Sätt ett värde på x: ");
x = input.nextInt();
System.err.print("Sätt ett värde på y: ");
y = input.nextInt();
List<Integer> storeValue = new ArrayList<Integer>();
for(int i=x; i<=y; i++){
int value = i;
storeValue.add(value);
}
for(Integer value : storeValue){
for(int j = value; j > 1; j++){
if(j % 2 == 0){
j=j/2;
// System.out.println(j);
result++;
}
else{
j=j*3+1;
result++;
// System.out.println(j);
}
}
}
System.out.println(result);
}
}