您的位置:首页 > 产品设计 > UI/UE

4.694 - The Collatz Sequence

2013-06-13 00:00 746 查看
本题为3n+1问题.题意为计算在A<=L的范围内A出现的次数.

因为中间结果可能大于int的存储范围,所以用long long.

int main()

{

long long A,L;

int k=1;

while(~scanf("%lld%lld",&A,&L)&&A>=0&&L>=0)

{

long long x=A;

int c=0;

while(A>1&&A<=L)

{

c++;

if(A&1)

A=3*A+1;

else

A>>=1;

if(A>L)

c--;

}

printf("Case %d: A = %lld, limit = %lld, number of terms = %d\n",k++,x,L,c+1);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UVa