pat(B)_1001
2024-09-05 16:30:52
1001 害死人不偿命的(3n+1)猜想 (15 分)
卡拉兹(Callatz)猜想:
对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……
我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单地数一下,需要多少步(砍几下)才能得到 n=1?
输入格式:
每个测试输入包含 1 个测试用例,即给出正整数 n 的值。
输出格式:
输出从 n 计算到 1 需要的步数。
输入样例:3
代码:
#include<stdio.h>
int main(){ int n;
int k=;
scanf("%d",&n);
while(n!=){
if(n%==){
n=n/;
k++;
}else{
n=(*n+)/;
k++;
}
}
解析:最关键是这个while(循环),当n!=1是无限的循环,直到n等于1跳出循环,用k来记录次数。
最新文章
- hibernate5.2需要的最少jar文件
- Libgdx 开发指南(1) 应用框架
- Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战
- 开源项目Foq简介
- 工匠若水 Android应用开发编译框架流程与IDE及Gradle概要
- POJ1135 Domino Effect(SPFA)
- winform——绑定DataGridView
- IAP沙盒测试帐号无法购买的问题
- UVA1099----Sharing Chocolate----在集合上的DP
- 在网页中插入CSS样式表的几种方法
- Ubuntu 使用apt-get时提示错误:无法获得锁 /var/lib/dpkg/lock
- 键盘数字对应的ASCII码(keycode码)
- 2013第39周一Web打印
- Flask 学习 九 用户资料
- mysql 数据库导入导出方法总结
- H5 CSS的格式
- HDU 3642 - Get The Treasury - [加强版扫描线+线段树]
- NoSQL数据库--简介
- Day5 JavaScript(三)事件、表单验证以及初识jQuery
- 快速上手日期插件daterangepicker
热门文章
- gateway 整合 websocket demo
- NDK的环境配置
- 作为web开发人员,你必须要知道的问题! (持续更新)
- 使用 joblib 对 Pandas 数据进行并行处理
- 使用Navicat为Oracle新增用户
- Win10+GPU版Pytorch1.1安装
- centos 7.3镜像制作
- I&#39;m using Python 2.7.2 ImportError No module named bz2
- 【linux杂谈】遇到REMOTE HOST IDENTIFICATION HAS CHANGED怎么办?
- spring笔记3路径跳转