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

卡拉兹(Callatz)猜想:

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

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

输入格式:

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

输出格式:

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

输入样例:

3

输出样例:

5

算法实现如下:

#include<stdio.h>
int main(){ int n,time=0;
scanf("%d",&n);
while(n!=1){
if(n%2==0){
n/=2;
time++;
}else{
n=3*n+1;
n/=2;
time++;
}
}
printf("%d",time);
return 0;
}

思想:

​ 本题思想很简单,也没什么坑,对输入的n进行判断,若n为偶数,则直接除以2,若为奇数,则先乘3加1再除以2,即可通过

PTA1001 害死人不偿命的(3n+1)猜想 (15 分)的更多相关文章

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

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

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

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

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

    一.参考代码: #include<iostream> using namespace std; int main(){ int n; int step = 0; cin >> ...

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

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

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

    1001. 害死人不偿命的(3n+1)猜想 (15) 较简单,直接代码实现: #include <cstdio> int main() { int n; scanf("%d&qu ...

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

    1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Ca ...

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

    1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Ca ...

  8. [C++]PAT乙级1001.害死人不偿命的(3n+1)猜想(15/15)

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

  9. PAT 1001 害死人不偿命的(3n+1)猜想 (15)(C++&JAVA&Python)

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

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

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

随机推荐

  1. Ubuntu中恢复rm命令误删文件(超级详细+亲测有效)

    Ubuntu中恢复rm命令误删文件(超级详细+亲测有效) 置顶 2019年05月27日 11:13:12 rain_Man2018 阅读数 40   在实验室做项目时使用的是ubuntu16.04 某 ...

  2. JAVA学习笔记-10

    String类: 字符串是一个特殊的对象.字符串最大的特点:一旦被初始化就不可以被改变. String类适用于描述字符串事物.那么它就提供了多个方法对字符串进行操作. 常见的操作: 1.获取: int ...

  3. 数据库管理工具navicat16.0安装

    //-----------------*****本文章只做学习参考,侵权立删*****-----------------\\ 总结概要如下: 1.完成安装包下载后,点击navicat160_premi ...

  4. Jmeter 请求或响应中文乱码

    1.首先检查 请求编码和后台接受编码是否一致,如果在查看结果树中 请求的中文不是乱码 而添加到后台程序是乱码 一般都是请求和接受编码不一致造成的 2.如果请求是get 请求中有中文 Content e ...

  5. Java调用Kettle

    Java 调用 kettle,难的不是怎么调用,而是解决 maven 依赖冲突问题,直接将 kettle 依赖,添加到我们的 maven 工程,可能会导致代码大范围报错:解决方案也很简单,就是直接从 ...

  6. oracle之PGA相关的sql

    在上篇文章中初步介绍了关于pga的基础知识,阅读了其他很多关于pga的内容,今天总结一些关于pga的sql和其他知识. 在网上找了相关资料整理而来,可能有点乱,先码上后再整理下. https://bl ...

  7. logback-spring.xml配置说明

    logback-spring.xml的配置说明 <?xml version="1.0" encoding="UTF-8"?> <configu ...

  8. REMOTE HOST IDENTIFICATION HAS CHANGED!服务器重置后远程连接不上

    问题: 解决: 本地打开shell,重置key

  9. VS code 安装后gdb调试无法显示STL内容的问题

    bar {...} std::_Vector_base<TSample<MyTraits>, std::allocator<TSample<MyTraits> &g ...

  10. Windows10 Vmware安装Centos虚拟机

    准备工作 安装Vmware软件 下载地址:https://www.vmware.com/cn/products/workstation-pro.html 下载Centos7 镜像 下载地址:https ...