P1304 哥德巴赫猜想 题解

原题传送门

为什么这题的标签里有搜索。

直接看代码。

#include<bits/stdc++.h>
using namespace std;
int n;
bool f;
bool is_prime(int x) {
	for(int i=2; i*i<=x; i++) {//枚举到sqrt(x)就行 
		if(x%i==0){
			return 0;
		}
	}
	return 1;
}//判断素数的函数 
int main() {
	cin>>n;
	for(int i=4; i<=n; i+=2) {
		for(int j=2; j<=n; j++) {
			if(is_prime(j)&&is_prime(i-j)){//这里千万不要在开个循环枚举第二个加数,否则会TLE两个点,傻子都知道第二个加数等于和减第一个加数 
				printf("%d=%d+%d\n",i,j,i-j);
				break;//输出后跳出 
			}
		}
	}
	return 0;
}

还有一个跟这个几乎一模一样的题 P1579

posted @ 2023-11-27 18:34  IOI_official  阅读(27)  评论(0)    收藏  举报  来源