任何一个大于5的整数,都可以写成三个质数的和。用学号后六位(100089),写成三个素数的和,用变成实现,求这三个素数。
#include <stdio.h>
using namespace std;
int isPrime(int n){
for(int i=2;i<n;i++)
if(n%i==0)
return 0;
return 1;
}
int main(){
int n,a,b,c;
cin>>n;
for(int i=2;i<=n;i++){
if(isPrime(i)){
for(int j=2;j<=n;j++){
if(isPrime(j)&isPrime(n-i-j)){
a=i;b=j;c=n-i-j;
goto x;
}
}
}
}
x:
printf("%d %d %d",a,b,c);
return 0;
}