小学教育网 发表于 2016-8-13 14:37:54

数学猜想系列----叙拉古猜想


          
          [*]
       
12
                                  大家一起来做这样一个游戏:每个人可以从任何一个正整数开始,连续进行如下运算,若是奇数,就把这个数乘以3再加1;若是偶数,就把这个数除以2。这样演算下去,直到第一次得到1才算结束,首先得到1的获胜。比如,要是从1开始,就可以得到1→4→2→1;要是从17开始,则可以得到17→52→26→13→40→20→10→5→16→8→4→2→1。自然地,有人可能会问:是不是每一个正整数按这样的规则演算下去都能得到1呢?这个问题就是叙拉古猜想,也叫科拉兹猜想或角谷猜想。
  既然是猜想,当然至今还没有得到证明,但也没有发现反例。利用计算机,人们已经验证了所有小于100*250=112589990684262400的正整数,。这是葡萄牙阿弗罗(Aveiro)大学的Tomas Oliveira e Silva的工作,用了很巧妙的编程方法。因此大家在做游戏时大可不必担心会出问题。
    游戏中给出的处理过程很清楚,算法不需特殊设计,可按照游戏的叙述直接进行证。
*程序与程序注释
#include
void main()
{
    int n,count=0;
    printf("Please enter number:");
    scanf("%d",&n);      /*输入任一整数*/
    do{
      if(n%2)
      {
            n=n*3+1;         /*若为奇数,n乘3加1*/
            printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n);
      }
      else
      {
            n/=2;          /*若为偶数n除以2*/
            printf("[%d]:%d/2=%d\n",++count,2*n,n);
      }
    }while(n!=1);             /*n不等于1则继续以上过程*/
}
*运行结果
     
/collect/201608/13/C260241.gif
screen.width-333)this.width=screen.width-333" />
    如果要是发现一个大的正整数,经过演算结果得不到1,倒是一个了不起的发现,那就把叙拉古猜想推翻了。不过,最好还是不要急于在这个问题上花太多的时间,只有打下良好、坚实的基础,才能向这样的数学高峰攀登,也才有可能获得成功。
页: [1]
查看完整版本: 数学猜想系列----叙拉古猜想