课程首页 › 第3部分 › 第39课

第39课 神奇的冰雹猜想

第3部分 不辞辛苦 · 循环结构· 知识点:while循环、数字游戏

神奇的冰雹猜想(while循环、数字游戏)

插图

冰雹云中,强烈的气流上升会带着许多大大小小的水滴和冰晶一起运动,其中一些水滴和冰晶会结合成较大的冰粒,冰粒在高空中受到上升气流的影响,在云层中忽上忽下,越积越大。当上升气流支撑不住大冰粒时,它就从云中落了下来,形成了我们所谓的冰雹。

“冰雹猜想”就是这个意思,它算来算去,数字忽大忽小,最后像冰雹似的掉下来,变成一个数字“1”。(冰雹猜想又被称为“角谷猜想”。)

冰雹猜想

输入一个正整数N

如果是奇数,则下一步变成3N+1

如果是偶数,则下一步变成N/2

如果N!=1,则继续按照上述规则计算

画个流程图看看。

插图
插图

运行程序:

请输入一个正整数:9

9→28→14→7→22→11→34→17→52→26→13→40→20→10→5→16→8→4→2→1,路径长度为:

插图
插图

巩固练习

(1)完善冰雹猜想的流程图。

(2)阅读下面的代码,填写程序的输出结果。

插图

请输入一个正整数:9

输出:

(3)寻找整数。

编写一个C++程序,要求用户输入一个正整数N(大于或等于1),然后找出1~N中满足下列条件的整数。

条件:

数字除以3余2。

数字除以5余3。

数字除以7余2。

示例1:

输入一个正整数:200

示例2:

输入一个正整数:8

找不到符合条件的数字。