有这样一个猜想:对于任意大于1的自然数n,若n为奇数,则将n变成3n+1,否则变成n的一半。经过若干次这样的变换,一定会使n变为1。例如3->10->5->16->8->4->2->1。对于n=1的情况,当然就不用变化了。
输入格式:
输入一个正整数n,n的范围是[1,999999]。
输出格式:
输出变换的次数。
输入样例:
3
输出样例:
7
代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n= sc.nextInt();
int count=0;
if(n>1) {
do {
if (n % 2 == 1) {
n = 3 * n + 1;
} else {
n = n / 2;
}
count++;
} while (n != 1);
}
else{
count=0;
}
System.out.println(count);
}
}