2464: 【入门】【P1304】哥德巴赫猜想
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:28
解决:17
题目描述
输入一个偶数 ,验证 所有偶数是否符合哥德巴赫猜想:任一大于 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。例如 ,,则 是错误答案。
输入
第一行输入一个正偶数
输出
输出 行。对于第 行:
首先先输出正偶数 ,然后输出等号,再输出加和为 且第一个加数最小的两个质数,以加号隔开。
样例输入 复制
10
样例输出 复制
4=2+2
6=3+3
8=3+5
10=3+7
提示
数据保证,。
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int x){
if (x==1|| x==0) return 0;
for (int i=2;i*i<=x;i++){
if (x%i==0)
return 0;
}
return 1;
}
int main(){
int n;
cin>>n;
for (int i=4;i<=n;i+=2) {
for (int j=2;j<=i/2;j++) {
if (isPrime(j) && isPrime(i-j)){
cout<<i<<"="<<j<<"+"<<i-j<<endl;
break;
}
}
}
return 0;
}