そのため、3N+1 方程式を計算する簡単なコードを作成する必要がありました。ここで、N はユーザーが入力する整数で、正の整数の場合は N = N / 2、負の整数の場合は N = N * 3 + 1 です。
ただし、私が理解できることから、私のコードは最初の while ループの後に機能しないため、何も出力されません。私は何を間違っていますか?プログラミングは初めてで、まだ学習中なので、あなたの助けに感謝します:)
コード:
import java.util.Scanner;
public class ThreeNplusOneProgram {
public static void main(String[] args) {
int N; Scanner input = new Scanner(System.in); int counter;
System.out.println("Please Enter an integer: ");
N = input.nextInt();
while ( N <= 0 ) {
System.out.println("ERROR: Please Enter an integer greater than zero: ");
N = input.nextInt();
}
//So far we know that N is great than Zero
System.out.println(N);
counter = 1;
while ( N != 1 ) {
if (N == N % 2 )
N = N / 2;
else N = N * 3 + 1;
counter = counter + 1;
}
System.out.println("There were" + counter + "terms in the sequence");
}
}