这道题其实比较简单,主要就是注意2点
1.如何求一个数是否为质数
2.当遇到减法是一定要注意是否会出现负数,出现负数是否会影响到整个流程
贴上自己写的代码:`
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int zs(int n);
int a,b;
int c = 0;
int main(int argc, char** argv) {
int n;
cin >> n;
if(n <= 9 || n>= 20000){
return 0;
}
for(int i = 2; i <=n; i++){
if(zs(i)){
a = i;
for(int j =2;j <= n;j++){
if(zs(j)){
b = j;
c = n - a - b;
}
if(zs(c) && c > 0){
cout << a << " " << b << " "<< c;
break;
}
}
}
if(zs(c) && c > 0) break;
}
return 0;
}
int zs(int n){
for(int i = n-1;i>1;i--){
if(n % i == 0){
return 0;
}
}
return 1;
}