其他题目详见:PAT乙级解题记录
一.题目描述
1001 害死人不偿命的(3n+1)猜想 (15 分)
我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单地数一下,需要多少步(砍几下)才能得到 n=1?
输入格式:
每个测试输入包含 1 个测试用例,即给出正整数 n 的值。
输出格式:
输出从 n 计算到 1 需要的步数。
二.代码示例:
#include<stdio.h>
int main()
{
int n,i = 0;
scanf("%d",&n);
while(n != 1)
{
if(n % 2 == 0)
n /= 2;
else n = (3 * n + 1) / 2;
i++;
}
printf("%d",i);
return 0;
}
三.总结
这道题好像没没啥总结的,细心做就ok.