UVA_694

来源:互联网 发布:苹果cms解析接口教程 编辑:程序博客网 时间:2024/05/14 20:52

/********************************************

此题为刘汝佳算法竞赛入门经典中第一波习题中的一道题目,题目难度不高,只是简单地利用题目中所给的公式进行运算即可
题目要求为
1给定一个正整数A一个极限值lim,
2判断A是否为1 如是进行下一步
3如A为偶数则对A除二否则进行下一步
4若A为奇数则将A*3+1赋给A
所求目标为进行多少步时A从1中或4中跳出


此题难度不高,但应当注意的是细心,本人就因为忽略了代码中测试的一行freopen语句导致了几次UNAC

重点在于按照其要求去做不要随便打乱顺序



#include "stdio.h"



int main()
{
long long a,lim,i;

int count=0;

//freopen("out.txt","w",stdout);

while(~scanf("%lld%lld",&a,&lim))

{

if(a<=0&&lim<=0) break;
long long gdz=a;
count++;
i=1;
while(1)
{
if(a<=1) {break;}
if(a>lim) {break;}
if (a%2) a=3*a+1;
else a/=2;
if(a>lim) break;
i++;

}
printf("Case %d: A = %lld, limit = %lld, number of terms = %lld\n",count,gdz,lim,i);
}
return 0;
}
0 0
原创粉丝点击