洛谷P1304 哥德巴赫猜想

题目链接

题目描述
输入一个偶数 N(N<=10000),验证4~N所有偶数是否符合哥德巴赫猜想:任一大于 2 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。例如 10,10=3+7=5+5,则 10=5+5 是错误答案。

输入格式
第一行N

输出格式
4=2+2 6=3+3 …… N=x+y

输入输出样例
输入 #1
10
输出 #1
4=2+2
6=3+3
8=3+5
10=3+7

代码:

#include<iostream>
using namespace std;
bool is_prime(int n)
{
    
    
	for(int i = 2; i * i <= n; i++)
		if(n % i == 0) return false;
	return n != 1;
}
int main()
{
    
    
	ios::sync_with_stdio(false);
	int n;
	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))
			{
    
    
				cout << i << "=" << j << "+" << i - j << endl;
				break;
			}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44826711/article/details/113769848