1001 害死人不偿命的(3n+1)猜想 (15分)
卡拉兹(Callatz)猜想:

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

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

输入格式:

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

输出格式:

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

输入样例:

3
输出样例:

5

# -*- coding: utf-8 -*-def callatz_guess(n):if not isinstance(n, int):n = int(n)steps = 0while n != 1:if n % 2 == 0:n /= 2steps += 1else:n = (3 * n + 1) / 2steps += 1return stepsif __name__ == '__main__':input_val = input()result = callatz_guess(input_val)print(result)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. codeforces-1132 (div2)
  2. 评阅上百篇博士学位论文后专家发现:博士生SCI发的越多,通常科研能力越差...
  3. Keil中调试时Watch窗口变量不实时显示
  4. Java Web 前端高性能优化(二) 1
  5. Linux/Centos Tomcat 配置日志切分以及脚本自动清理
  6. 在 SQLite3 中使用回调函数
  7. 开源游戏引擎_Hatchit:开源游戏引擎
  8. Python Imaging Library: ImagePath Module(图像路径模块)
  9. python自动化办公入门-[Python] 自动化办公 docx操作Word基础代码
  10. JavaScript 求和(字符串转换成数组、for循环求和)
  11. SI9000阻抗计算安装教程
  12. 开发者从应用程序商店难以赚到真金白银
  13. python sanic_Python Web框架Sanic Streaming – 流式传输
  14. oracle fnd global,Oracle EBS fnd_request.submit_request 与 Fnd_concurrent.wait_for_ruqest
  15. Android 最全面试题汇总(问题+答案+详解链接)
  16. 服务器系统能装打印机吗,现在云服务器怎么安装打印机
  17. MySQL表连接算法
  18. java有参构造_java的有参构造有什么用
  19. c++面向对象程序设计------课程设计
  20. U盘制作成系统盘后怎么恢复成原样?

热门文章

  1. spring mvc学习(35):restful的put
  2. 第六十九期: 漫画说算法之什么是一致性哈希?
  3. 第三十期:程序员报告:男性占比超87% 北京月薪12184元最高
  4. 第五十二期:甲骨文遭遇“中年危机”:继阿里后,再被亚马逊永久抛弃
  5. java学习(92):线程的创建方法一
  6. emqx使用webhook数据持久化到mysql
  7. 树莓派使用STEP8:使能串口调试
  8. Linux下如何定位Java进程CPU利用率过高原因
  9. TCP服务器epoll的多种实现
  10. python numpy的var std cov研究