算法笔记 3.1 简单模拟
来源:互联网 发布:网络上个人信息 编辑:程序博客网 时间:2024/06/16 05:32
题目描述
卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?输入描述:
每个测试输入包含1个测试用例,即给出自然数n的值。输出描述:
输出从n计算到1需要的步数。输入例子:
3输出例子:
5#include <iostream>using namespace std;int main(){int n, k=0;cin >> n;while (n!=1){if (n%2==0){n = n / 2;}else{n = (3 * n + 1) / 2;}k++;}cout << k;return 0;}
阅读全文
0 0
- 算法笔记 3.1 简单模拟
- 简单电梯调度算法模拟
- PAXOS---最重要的分布式算法----简单模拟
- 先来先服务调度算法的简单模拟
- 简单模拟高响应优先调度算法
- Spring学习笔记--- BeanFactory简单模拟
- 算法笔记(X) 模拟与仿真
- 简单的递归算法和简单的printf函数模拟
- 简单算法学习笔记一
- 简单算法学习笔记二
- 简单的排序算法笔记
- 进程调度模拟程序设计-----FCFS算法简单实现
- 对于简单模拟路由寻路算法代码的学习。
- JAVA实现 简单抢红包算法,模拟真实抢红包。
- 简单模拟
- 简单模拟
- 简单模拟
- 简单模拟
- C语言之rand()和srand()函数
- 高效版本控制工具--Git使用教程
- Opencv基本操作和配置小记
- 3164 质因数分解
- 自定义密码 输入界面
- 算法笔记 3.1 简单模拟
- 欢迎使用CSDN-markdown编辑器
- Spring源码分析之lazy-init属性的配置
- 求1+2+3+...+n(java版)
- sql server 安装到服务器上时出现的错误,以及怎么去解决之后有可能出现的一系列错误。
- JavaWeb中乱码问题
- 国内可用的API合集
- 删除对象的属性 delete的用法
- 基于HTC vive 的 VR场景遍历及环境互动项目规划