害死人不偿命的(3n+1)猜想

题目描述

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

输入格式

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

输出格式

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

输入样例:

3

输出样例:

5

解题思路

  • 定义步数变量count
  • 开始循环
  • 如果输入n为偶数则 /2,count++
  • 如果输入n为奇数,先n*3+1,再 /2,count++
  • 直到n等于1,循环结束

不论是奇数还是偶数都需要count++,可以简化代码。

C++代码

#include<iostream>
using namespace std;
int main()
{int n,count=0;cin>>n;while(n!=1){if(n%2!=0){n = 3*n+1;}n/=2;count++;}cout<<count;return 0;
}

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

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

    PAT(乙级) 1001 害死人不偿命的(3n+1)猜想 (15 分) (python3) 第一次写点博客记录自己学习算法的过程,因为个人能力有限,会不定期发布一些PAT上题目的代码 PAT 乙级的1 ...

  2. C++学习之路 | PTA乙级—— 1001 害死人不偿命的(3n+1)猜想 (15分)(精简)

    1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍 ...

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

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...

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

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...

  5. 1001 害死人不偿命的(3n+1)猜想 (15分) PAT (Basic Level) Practice (中文)C语言版

    PAT (Basic Level) Practice (中文) 1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一 ...

  6. 【PAT乙】1001 害死人不偿命的(3n+1)猜想 (15分) 模拟,水水更健康

    1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍 ...

  7. 1001 害死人不偿命的(3n+1)猜想 (15分)

    1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍 ...

  8. 1001 害死人不偿命的(3n+1)猜想 (15分)_Quentin

    题目链接:1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样 ...

  9. c++ pat 乙级 --1001 害死人不偿命的(3n+1)猜想

    1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复 ...

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

    https://pintia.cn/problem-sets/994805260223102976/problems/994805325918486528 精简写法: #include<cstd ...

最新文章

  1. 高级特性-多线程,GUI
  2. 湖南网络推广教大家如何“挽回”网站被降权的排名和权重?
  3. 第一季1:HI3518EV200的体验
  4. iSCSI存储设备的udev绑定 以及iscsi重启卡住解决方法
  5. MATLAB保存当前窗口图像
  6. 即时通讯软件在企业里的应用及发展
  7. day05 Python 元组
  8. 190614每日一句
  9. 2022华为杯研究生数学建模竞赛E题思路解析
  10. java struts2教程_Struts2教程
  11. matplotlib绘图并导出eps矢量图和svg矢量图
  12. 数字化运营管控是如何提升管理透明及效率的!
  13. SIFT算法原理(2)-极值点的精确定位
  14. TiDB数据库架构概述
  15. 【H.264/AVC视频编解码技术详解】二十三、帧间预测编码(1):帧间预测编码的基本原理
  16. CentOS: Kernel panic - not syncing: Fatal exception
  17. c语言中怎么画直线,ps如何画直线 【操作流程】
  18. 计算机网络操作员工作标准,网络管理员工作标准.doc
  19. 微信公众平台-文章-app:让创意变为现实,这30个小程序“凭什么”脱颖而出?...
  20. fk_gfw: step of setting bwh to go,,fk_gfw,,ogle

热门文章

  1. 基于SSM架构的网上书城系统
  2. 手把手教你如何将图片“嵌入”网页中
  3. 数据结构(二十) -- C语言版 -- 树 - 霍夫曼树(哈夫曼树、赫夫曼树、最优二叉树)、霍夫曼编码
  4. SpotMicro 12自由度四足机器人制作(两套方案)
  5. 拼多多软件测试开发,拼多多事件对我们业务测试的启发
  6. 数字签名的全过程签名与验证
  7. 电脑ps计算机磨皮,入门:PS最简单的磨皮方法
  8. 【C语言基础】-九条语句
  9. [windows] win7建立wifi 实现网络共享
  10. OFDM通信链路仿真加噪声方法总结