解题思路:
很有意思的一个猜想,在上世纪七十年还成为了一股风靡数学界的潮流,现在已经知道在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 人评分
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:824 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:473 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:1435 |
大神老白 (C语言代码)浏览:713 |
【偶数求和】 (C++代码)浏览:702 |
买不到的数目 (C++代码)浏览:864 |
A+B for Input-Output Practice (V) (C++代码)浏览:450 |
【蟠桃记】 (C语言代码)浏览:648 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1816 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:654 |