首页 > 编程语言 > 详细

角谷猜想——ybt 1086

时间:2018-06-21 20:57:21      阅读:752      评论:0      收藏:0      [点我收藏+]

【题目描述】

谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。

【输入】

一个正整数N(N ≤ 2,000,000)。

【输出】

从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。

【输入样例】

5

【输出样例】

5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End

源代码:

#include<iostream>
using namespace std;
int main()
{
 long n;
 cin>>n;
 do{
 if (n%2==1)//如果是奇数,则n*3+1
 {
 cout<<n<<"*3+1="<<n*3+1<<endl;
 n=n*3+1;得到的结果要重复处理,要不断*3+1
 }
 if (n%2==0)//如果是偶数,则n/2
 {
 cout<<n<<"/2="<<n/2<<endl;
 n=n/2;得到的结果要重复处理,要不断/2
 }
 }while (n!=1);//当n不等于1时执行
 cout<<"End"<<endl;
 return 0;
}

角谷猜想——ybt 1086

(6)
(6)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!