Problem Description

对任何一个自然数n(n!=0),如果它是偶数,那么就把它砍掉一半;如果它是奇数,就把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。
对于给定的正整数n,需要多少步才能得到n=1?

Input Description

输入一个正整数n。

Output Description

输出最少的步数。

Sample Input

10

Sample Output

5

int main(void)

{

    int a, i;

    i = 0;

    scanf("%d", &a);

    while(a>1)

    {

         a = (a % 2 == 0) ? a/2:(3*a+1)/2;//?的意思是

         i++;

    }

    printf("%d",i);

    return 0;

}

表达式a?表达式b:表达式c

其执行步骤如下:

1、计算表达式a的值。

2、如果表达式a的值为1,则执行表达式b。

3、如果表达式b的值为0,则执行表达式c。

注意:当有多个三目运算符时,按从右至左的顺序运算。

例如,下面两个表达式是等价的:

1

2

a<b?b:c>b?c:b;

a<b?b:(c>b?c:b);

分析:三目运算符判断条件表达式的真值,若为真则执行“?”号后的第一个表达式,否则执行第二个表达式。

具体实例:

1

2

3

4

5

6

7

8

#include<stdio.h>

void main()

{

int x=5;           //定义一个整数变量

int y=++x>5?0:1;       //通过三目运算符对x进行运算

 //判断++x是否大于5,若大于5则将0赋予变量y,否则将1赋予变量y

printf("%d,%d\n",x,y);

}

运行结果:

1

6,0

Problem L: 卡拉兹猜想相关推荐

  1. HDU 6343.Problem L. Graph Theory Homework-数学 (2018 Multi-University Training Contest 4 1012)

    6343.Problem L. Graph Theory Homework 官方题解: 一篇写的很好的博客: HDU 6343 - Problem L. Graph Theory Homework - ...

  2. CERC17 Problem L - Lunar Landscape(差分,坐标系)

    CERC17 Problem L - Lunar Landscape Solution 如果只有AAA,我们可以简单地使用差分解决. 加入了BBB之后,可以把单位正方形用对角线拆成四个等腰Rt,统计等 ...

  3. 角谷猜想(卡拉兹猜想)

    角谷猜想(卡拉兹猜想): 任何一个正整数n,如果它是偶数则除以2,如果是奇数则乘以3再加上1之后除以2,这样得到一个新的整数,如此继续进行上述处理,则最后得到的数一定是1.编写应用程序和小程序分别证明 ...

  4. PAT乙级1005,用C语言进行编程,继续卡拉兹猜想

    今天的这道题目着实把我难住了好久,不愧是PAT乙级中值25分的一道题. 这道题呢,是在PAT乙级1001的基础上来增加了一些难度,但是呢,还没有涉及到数据结构,可以说只需要盘清楚逻辑,就可以做这道题了 ...

  5. 【卡拉兹猜想】:对于一个自然数n,如果他是偶数,那么把它砍掉一半;如果是奇数,那么把(3n+1)砍掉一半,一直反复下去,最后在某一步得到n=1。求从n计算到1的步数

    #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() //卡拉兹猜想,对于一个自然数n,如果他是偶数,那么把它砍掉一 ...

  6. 卡拉兹猜想证明用python_科普:数学领域中的感觉像是“民科”的卡拉兹猜想

    这两天看到网络上铺天盖地的关于阿提亚爵士证明黎曼猜想的宣传和讨论,尽管老爵士的证明在数学界中几乎没有引起什么正面的反响,但是仍然对老爵士报以热烈的掌声.黎曼猜想的数学描述对专业不是数学的人士来说,几乎 ...

  7. PAT1001 卡拉兹猜想

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

  8. 卡拉兹猜想java,pat乙级1001解题报告

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

  9. C语言—PTA乙级·基础刷题—1001卡拉兹猜想

    ** 第一题:卡拉兹猜想 ** 题目基础内容:while循环.分支语句."/"与"%"符号. 题解: 首先明确求解问题:给一个小于1000的数n,需要多少次才能 ...

最新文章

  1. 【ACM】POJ 1664
  2. NetScaler SDWAN 详细配置手册
  3. C语言再学习--关键字
  4. Jmeter之BeanShell
  5. TensorFlow基本计算单元——变量
  6. java对话_您应该保持联系的十大高级Java对话
  7. VB FTP操作类(可上传、下载、创建文件夹等等)
  8. 坚果云忽略同步文件的设置
  9. 找回WordPress登录密码的方法
  10. apollo 配置中心_Apollo 配置中心:分布式部署
  11. Vue入门基础(看狂神的视频,不是很推荐……)
  12. 使用PowerPoint
  13. 排错-通过LLDP信息查找环路(以H3C S5100为例)
  14. MQTT协议从服务端到客户端详解
  15. 虚拟机+服务器管理器怎么打开,大话西游2特色版虚拟机镜像一键服务端+启动教程+物品ID+GM设置方法+数据库工具等...
  16. 三个角度细谈:如何发挥朋友圈广告的威力
  17. 服务器账号登录失败怎么回事,远程连接云服务器登录失败是什么原因
  18. 做到这一点,你也可以成为优秀的程序员(转)
  19. 《本地计算机DNS缓存文件》
  20. HTML+CSS大作业: 个人介绍网页制作作业 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人博客网站制作成品下载

热门文章

  1. 08-Httprunner-断言(validate)
  2. 掌上生活显示服务器忙,掌上生活服务端
  3. 哈工大计算机科学与捄术学院,[哈尔滨工业大学]管理科学与工程
  4. 名帖98 赵孟頫 小楷《黄庭经》
  5. 伺服电机常用参数设置_简单介绍伺服电机的调试方法
  6. 阿里云ID2物联网设备身份认证系统
  7. 【毕业设计】深度学习驾驶行为状态检测系统(疲劳 抽烟 喝水 玩手机) - opencv python
  8. 图像识别毕业设计 人脸识别与疲劳检测系统设计与实现 - python opencv
  9. uvalive 3713 2-sat
  10. 子元素自动撑开父元素空间