PAT考试题库及详细答案.docxVIP

  • 1
  • 0
  • 约9.99千字
  • 约 11页
  • 2026-05-19 发布于河北
  • 举报

PAT考试题库及详细答案

一、PAT乙级(基础入门题,适合新手)

题目1:1001害死人不偿命的(3n+1)猜想(15分)

题目描述:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。求需要砍多少次才能得到n=1。

输入格式:每个测试输入包含1个测试用例,即给出正整数n的值。

输出格式:输出从n计算到1需要的步数。

输入样例:3

输出样例:5

详细答案:

解题思路:模拟题目要求的运算过程,每执行一次操作(砍一半),步数加1,直到n变为1为止,注意循环终止条件是n==1。

代码(C语言,简洁易懂,无冗余):

c

#includestdio.h

intmain(){

intn,count=0;

scanf(%d,n);

while(n!=1){

if(n%2==0){

n=n/2;

}else{

n=(3*n+1)/2;

}

count++;

}

printf(%d\n,count);

return0;

}

代码解释:定义n为输入的正整数,count记录步数(初始为

文档评论(0)

1亿VIP精品文档

相关文档