验证角谷猜想:任给一个自然数,若为偶数除以2,若为奇数则乘3 加1, 得到一个新的自然数后按照上面的法则继续计算,若干次后得到的结果必然为1。 要求:读入一个自然数,输出计算的步骤。

package sfsd;
//导包

import java.util.Scanner;

public class Text{
//主函数
public static void main(String[] args) {
System.out.println("请输入一个自然数");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
for(int i=0;;i++) {
if(a%2==0) {
//引用为奇数时的函数
a=ou(a);
}else {
//引用为偶数时的函数
a=ji(a);
}
if(a==1) {
System.out.println("经过"+i+"次计算后");
break;
}
}
System.out.println("得到"+a);
}
public static int ji(int a) {
int b=a*3+1;
return b;
}
public static int ou(int a) {
int b=a/2;
return b;
}
}

你可能感兴趣的:(验证角谷猜想:任给一个自然数,若为偶数除以2,若为奇数则乘3 加1, 得到一个新的自然数后按照上面的法则继续计算,若干次后得到的结果必然为1。 要求:读入一个自然数,输出计算的步骤。)