1228-哥德巴赫猜想(easy)


本文总阅读量

要找出4N的所有偶数符合猜想的算式找出来,首先要明确偶数需要搜索来完成。

for(int i = 4; i <= N; i += 2){
	...
}

这时候i代表的就是偶数,也是算式中的和。
接下来我们要寻找质数的加数,显然也要通过枚举来搜,考虑加数的范围。
最小的质数是是2,所以枚举起点为2,终点呢?考虑题目中要求找符合条件的算式中,加数最小的算式,所以只要找到i的一半就可以了。因为如果有i=大的加数+小的加数,那么必然有i=小的加数+大的加数,所以没必要跨过i的一半。

for(int i = 4; i <= N; i += 2){  //枚举4到N的所有偶数
	for(int x = 2; x <= i/2; x++){ //枚举第一个加数
		if(ss(x) && ss(i-x)){ //第一个符合要求的也符合题目要求的加数最小的算式
			cout<<....;
			break;
		}
	}
}

本站总访问量