PAT乙级1001 害死人不偿命的(3n+1)猜想 (15分)

简介: PAT乙级1001 害死人不偿命的(3n+1)猜想 (15分)

题目描述:

卡拉兹(Callatz)猜想:


对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……


我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单地数一下,需要多少步(砍几下)才能得到 n=1?


输入格式:

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


输出格式:

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


输入样例:

3

输出样例:

5

解题思路:

题目上对于n是奇数时说的有点不清楚,原文题意应该是,当n是偶数时n=n的一半,当n是奇数时n=(3n+1)的一半

解题代码:


#include<iostream>
using namespace std;
int main()
{
  int num=0;
  int n=0;
  int m=0;
  cin>>n;
  while(n!=1){
    if(n%2==0){
      n/=2;
      num++;
    }else if(n%2==1){       
      n=(3*n+1)/2;
      num++;
    }
  } 
  cout<<num<<endl;
  return 0;
}
相关文章
|
6月前
1052 卖个萌 (20 分)//部分正确
1052 卖个萌 (20 分)//部分正确
|
7月前
1001 害死人不偿命的(3n+1)猜想
1001 害死人不偿命的(3n+1)猜想
39 0
|
7月前
|
数据可视化 算法 数据挖掘
JCR一区7.2分|非肿瘤内质网应激切入点,发文不难,非常好复现
这篇研究探讨了内质网应激在扩张型心肌病纤维化中的作用,通过基因综合分析揭示了相关免疫反应。在Apoptosis杂志上发表的文章指出,内质网应激可能与疾病恶化相关,涉及先天和适应性免疫失衡。研究整合了两个数据集,鉴定出103个内质网应激相关基因,其中7个基因可能参与免疫机制。研究结果为理解内质网应激的分子机制和开发新疗法提供了新视角。
65 0
|
7月前
|
数据可视化 Go vr&ar
JCR一区7.4分|教科书般网药四件套+实验验证,廉颇老矣尚能饭否
该文章是一篇发表在《Journal of Translational Medicine》上的研究,探讨了白藜芦醇治疗糖尿病肾病(DKD)的机制。通过网络药理学、分子对接和实验验证,研究发现白藜芦醇可能通过作用于PPARA、SHBG、AKR1B1、PPARG、IGF1R、MMP9、AKT1和INSR等靶点影响DKD。分子对接和细胞实验进一步证实了这些发现,为白藜芦醇在DKD治疗中的应用提供了理论支持。
81 0
PTA 7-2 找奇葩 (20 分)
在一个长度为 n 的正整数序列中,所有的奇数都出现了偶数次,只有一个奇葩奇数出现了奇数次。你的任务就是找出这个奇葩。
114 0
|
测试技术
害死人不偿命的(3n+1)猜想
害死人不偿命的(3n+1)猜想
|
C++ Python
【浙江大学PAT真题练习乙级】1001 害死人不偿命的(3n+1)猜想(15分)真题解析
【浙江大学PAT真题练习乙级】1001 害死人不偿命的(3n+1)猜想(15分)真题解析
|
测试技术
PAT 1001 害死人不偿命的(3n+1)猜想
对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。
95 0
|
测试技术
PTA 7-1 祖传好运 (15 分)
我们首先定义 0 到 9 都是好运数,然后从某个好运数开始,持续在其右边添加数字,形成新的数字。
147 0
|
机器学习/深度学习 人工智能
PTA 7-3 拼题 A 是真爱 (20 分)
如果一个人在一段话里很多次提到 pintia,那对拼题 A 就是真爱啦~ 本题就请你检查一下给定的文字中出现了几次 pintia。
159 0