描述
角谷猜想是由日本数学家角谷静夫发现,是指对于每一个正整数,如果它是奇数,则乘3加1,如果是偶数,则除以2。如此循环,最终总能够得到1。
也就是说,给定正整数 n ,要进行如下操作:
1、若 n 为 1 ,操作结束。
2、若 n 为偶数,则 n 变成 n/2。
3、若 n 为大于 1 的奇数,则 n 变成 n*3+1 。
请编程验证此猜想。
输入描述
一行一个正整数 n 。
输出描述
若干行,每行表示一个操作,具体格式参见输出样例。
样例输入 1
22
样例输出 1
22/2=11 11*3+1=34 34/2=17 17*3+1=52 52/2=26 26/2=13 13*3+1=40 40/2=20 20/2=10 10/2=5 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1
直接上AC代码
#include<iostream>
#include<cstdio>
#include<cmath>
#include<ctime>
using namespace std;
int main()
{
long long n, nn;
cin>>n;
while(n>1)
{
nn=n;
if(n%2==0)
{
n=n/2;
cout<<nn<<"/2="<<n<<endl;
}
else
{
n=n*3+1;
cout<<nn<<"*3+1="<<n<<endl;
}
}
return 0;
}