3n+1猜想
输入一个大于1自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变化,一定会使n变为1。
#include<stdio.h> #include<math.h> int main(){ int n, count = 0; scanf("%d",&n); while(n > 1){ if(n % 2 == 1){ n = 3 * n + 1; }else { n /= 2; } count++; } printf("%d\n",count); return 0; }
3n+1猜想简介:(来自于维基百科)
奇偶归一猜想(英语:Collatz conjecture),又称为3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。
目前已经有分布式计算在进行验证。到2009年1月18日,已验证正整数到 5 × 260 = 5,764,607,523,034,234,880,也仍未有找到例外的情况。但是这并不能够证明对于任何大小的数,这猜想都能成立。