//递归
import java.util.Calendar;
import java.util.Scanner;
public class Test02 {
public static int step=0;
public static void main(String[] args) {
System.out.println("请输入一个数");
Scanner scanner = new Scanner(System.in);
int m=scanner.nextInt();
cal(m);
System.out.print("\n");
System.out.println("step="+step);
}
public static int cal(int m) {
if((m%2==1)&&m!=1) {//为奇数
step++;
m=3*m+1;
System.out.print(m+" ");
m=cal(m); //继续计算
return m;
}
else if(m%2==0) {//m为偶数
step++;
m=m/2; //除以二
System.out.print(m+" ");
m=cal(m);//继续计算
return m;
}
else if(m==1) {
step++;
}
return m;
}
}
//(非递归):
import java.util.Scanner;
public class Test2_2 {
public static void main(String[] args) {
int step=0;
System.out.print("输入");
Scanner scanner = new Scanner(System.in);
int m=scanner.nextInt();
if(m<0){
System.out.println("非法输入");
return;
}
while(m!=1)
{
if(m%2==1){
step++;
m=3*m+1;
System.out.print(m+" ");
}else {
step++;
m=m/2;
System.out.print(m+" ");
}
}
System.out.print("\n");
System.out.println("step="+step);
}
}