题目描述
谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 3 加 1,如果是偶数,则除以 2,得到的结果再按照上述规则重复处理,最终总能够得到 1。
如,假定初始整数为 5,计算过程分别为 16、8、4、2、1。程序要求输入一个整数,将经过处理得到 1 的过程输出来。
输入描述
一个正整数N(1≤N≤2,000,000)。
输出描述
从输入整数到 1 的步骤,每一步为一行,每一部中描述计算过程。最后一行输出 “End”。如果输入为 1 ,直接输出 “End”。
样例输入 1
5
样例输出 1
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End
思路:
好久没写题了,写几题简单的练一下手,代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner read = new Scanner(System.in);
int n = read.nextInt();
while(n!=1)
{
if(n%2==0)
{
System.out.println(n+"/2="+""+(n/2));
n /= 2;
}
else
{
System.out.println(n+"*3+1="+""+(n*3+1));
n = n*3+1;
}
}
System.out.println("End");
read.close();
}
}