解题思路:
很有意思的一个猜想,在上世纪七十年还成为了一股风靡数学界的潮流,现在已经知道在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.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论