“考拉兹猜想”(又称3n+1猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想) 和“哥德巴赫猜想”一样目前还没有用数学方法证明其完全成立。在1930年,德国汉堡大学的学生考拉兹,曾经研究过这个猜想,因而得名。在1960年,日本人角谷静夫也研究过这个猜想。
该猜想的叙述十分简单:从任何一个正整数n出发,若是偶数就除以2,若是奇数就乘3再加1,如此继续下去,经过有限步骤,总能得到1。例如:
17-52-26-13-40-20-10-5-16-8-4-2-1
该猜想虽然没有完全证明,但用计算机验证有限范围的数字却十分容易。以下是验证的代码,请补全缺少的部分。
for(int n=2; n<=10000; n++){int m = n;for(;;){if(____________)m = m / 2;elsem = m * 3 + 1;if( m == 1 ){printf("%d ok! \n", n);break;}}};
#includeint main(){ for(int n=2; n<=10000; n++) { int m = n; for(;;) { if(m%2==0) m = m / 2; else m = m * 3 + 1; if( m == 1 ) { printf("%d ok! \n", n); break; } } }}