PAT 乙级 1001 害死人不偿命的(3n+1)猜想 (15 分) C++
害死人不偿命的(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++相关推荐
- PAT(乙级) 1001 害死人不偿命的(3n+1)猜想 (15 分) (python3)
PAT(乙级) 1001 害死人不偿命的(3n+1)猜想 (15 分) (python3) 第一次写点博客记录自己学习算法的过程,因为个人能力有限,会不定期发布一些PAT上题目的代码 PAT 乙级的1 ...
- C++学习之路 | PTA乙级—— 1001 害死人不偿命的(3n+1)猜想 (15分)(精简)
1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍 ...
- PAT乙级—1001. 害死人不偿命的(3n+1)猜想 (15)-native
卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...
- PAT 乙级 1001. 害死人不偿命的(3n+1)猜想 (15) Java版
卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...
- 1001 害死人不偿命的(3n+1)猜想 (15分) PAT (Basic Level) Practice (中文)C语言版
PAT (Basic Level) Practice (中文) 1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一 ...
- 【PAT乙】1001 害死人不偿命的(3n+1)猜想 (15分) 模拟,水水更健康
1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍 ...
- 1001 害死人不偿命的(3n+1)猜想 (15分)
1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍 ...
- 1001 害死人不偿命的(3n+1)猜想 (15分)_Quentin
题目链接:1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样 ...
- c++ pat 乙级 --1001 害死人不偿命的(3n+1)猜想
1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复 ...
- 【PAT乙级】1001 害死人不偿命的(3n+1)猜想 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805325918486528 精简写法: #include<cstd ...
最新文章
- 高级特性-多线程,GUI
- 湖南网络推广教大家如何“挽回”网站被降权的排名和权重?
- 第一季1:HI3518EV200的体验
- iSCSI存储设备的udev绑定 以及iscsi重启卡住解决方法
- MATLAB保存当前窗口图像
- 即时通讯软件在企业里的应用及发展
- day05 Python 元组
- 190614每日一句
- 2022华为杯研究生数学建模竞赛E题思路解析
- java struts2教程_Struts2教程
- matplotlib绘图并导出eps矢量图和svg矢量图
- 数字化运营管控是如何提升管理透明及效率的!
- SIFT算法原理(2)-极值点的精确定位
- TiDB数据库架构概述
- 【H.264/AVC视频编解码技术详解】二十三、帧间预测编码(1):帧间预测编码的基本原理
- CentOS: Kernel panic - not syncing: Fatal exception
- c语言中怎么画直线,ps如何画直线
【操作流程】
- 计算机网络操作员工作标准,网络管理员工作标准.doc
- 微信公众平台-文章-app:让创意变为现实,这30个小程序“凭什么”脱颖而出?...
- fk_gfw: step of setting bwh to go,,fk_gfw,,ogle