解题思路:
很有意思的一个猜想,在上世纪七十年还成为了一股风靡数学界的潮流,现在已经知道在7*10^11的数值里面角谷猜想都是成立的,不过如果无法在数学的角度给出证明,他只能停留在猜想的层面。如果有人能够攻克这个猜想,就可以期待下一届菲尔茨奖了。
给出一个if,判断是否为奇数,然后按照题目给出的两种情况写出/2和*3+1
这里跳出循环的开关是m,是因为当n=1的时候,结果是
1*3+1=4
4/2=2
2/2=1
而不是一个1,所以不使用n!=1作为开关。
参考代码:
#include <stdio.h> int main() { int i; int n,x,m=0; scanf("%d",&n); while(m!=1){ if(n==0){ break; } if(n%2==0){ printf("%d/2=%d\n",n,n/2); n/=2; }else{ printf("%d*3+1=%d\n",n,n*3+1); n=n*3+1; } m=n; } return 0; }
0.0分
167 人评分