哥德巴赫猜想:
一个偶数(>2)都可以拆成两个质数的和
一个奇数(>5)都可以拆成三个质数的和
但这里注意:
一个奇数还可能拆成:质数2+质数
原话:任一大于2的偶数都可写成两个质数之和,:任一大于5的整数都可写成三个质数之和
然后就分四种情况:
n是质数:1
n是偶数:2(两个质数)
n是奇数:n-2是质数:可以拆成2+质数 2
. n-2不是质数:不可以拆成2+质数 3
#include <iostream>
using namespace std;
long long n;
bool isprime(int x){
for(int i=2;i<=x/i;i++){
if(x%i==0) {
return false;
}
}
return true;
}
int main(int argc, char** argv) {
cin>>n;
if(isprime(n)) cout<<"1"<<endl;
else if(n%2==0||isprime(n-2)) cout<<"2"<<endl;
else puts("3");
return 0;
} 
京公网安备 11010502036488号