2464: 【入门】【P1304】哥德巴赫猜想
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:27
解决:16
题目描述
输入一个偶数 ,验证 所有偶数是否符合哥德巴赫猜想:任一大于 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。例如 ,,则 是错误答案。
输入
第一行输入一个正偶数
输出
输出 行。对于第 行:
首先先输出正偶数 ,然后输出等号,再输出加和为 且第一个加数最小的两个质数,以加号隔开。
样例输入 复制
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; }