挑战编程入门1.The 3n+1 problem

转载自:http://www.clumsyfool.com/index.php/archives/450

Ps:一开始没搞懂输入数据是什么意思,此题输
入两个数,求出从i-j中通过所给算法得到的数串
中最多的那个数串的个数。遍历i-j。

解题报告:

此水题浪费了很长时间,主要是解此题需要多个变量分别代表不同含义,

做题的时候变量一定要定好,不能混淆。!

题目地址  <http://acm.hdu.edu.cn/showproblem.php?pid=1032>


#include <iostream>

using namespace std;

int main()

{

int i,j,n,m,len,max,c,b;

int k;

while(cin>>i>>j)

{

n=i;m=j;

if(i>j) {k=i;i=j;j=k;}

max=1;

for(b=i;b<=j;b++)

{

c=b;

len=1;

while(c!=1)

{

if(c%2==0)

{

c=c/2;

}

else

{

c=c*3+1;

}

len++;

}

if(max<len)

max=len;

}

cout<<n<<' '<<m<<' '<<max<<endl;

}

return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值