题解 P1304 【哥德巴赫猜想】

· · 题解

简单的判断素数,然后判断另一个数的差是否也是素数

#include <iostream>
#include <cstdio>
using namespace std;

bool isPrime(int n){
    if(n==1||n==0){
        return false;
    }
    for(int i=2;i*i<=n;i++){
        if(n%i==0){
            return false;
        }
    }
    return true;
}

int main(){
    int n;
    cin>>n;
    for(int i=4;i<=n;i+=2){
        for(int j=2;j<=i;j++){
            int num=0;
            if(isPrime(j)){
                num=i-j;
            }
            if(isPrime(num)){
                cout<<i<<"="<<j<<"+"<<num<<endl;
                break;
            }
        }
    }
    return 0;
}