CB0150-儿童编程C语言入门-3n+1问题

今天我们讲解儿童编程C语言入门-3n+1问题

内容就一个部分:

3n+1问题

3n+1问题

猜想:对于任意大于1的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半,经过若干次这样的变换以后,一定会使n变成1.

3n+1问题研究历史

在1930年代,德国汉堡大学的学生考拉兹,曾经研究过这个猜想。在1960年,日本人角谷静夫也研究过这个猜想。但这猜想到目前,仍没有任何进展。

强悍的27

英国剑桥大学教授John Conway找到了一个自然数27。虽然27是一个貌不惊人的自然数,但是如果按照上述方法进行运算,则它的上浮下沉异常剧烈:首先,27要经过77步骤的变换到达顶峰值9232,然后又经过34步骤到达谷底值1。全部的变换过程(称作“雹程”)需要111步,其顶峰值9232,达到了原有数字27的342倍多,如果以瀑布般的直线下落(2的N次方)来比较,则具有同样雹程的数字N要达到2的111次方。其对比何其惊人!

3n+1问题研究最新进展

目前已经有分布式计算在进行验证。到2009年1月18日,已验证正整数到 5 × 260 = 5,764,607,523,034,234,880,也仍未有找到例外的情况。但是这并不能够证明对于任何大小的数,这猜想都能成立。

int n,count=0;

scanf(“%d”,&n);

while(n>1)

{

if(n%2==1)n=n*3+1;

else n/=2;

count++;

}

编程练习

根据用户从键盘输入的整数,求这些数的平均数,保留两位小数。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181016G28XTN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券