水镜·极光玄现 @ 2017-02-05 13:09:17
#include<bits/stdc++.h>
using namespace std;
bool U(int x)
{
for(int i=2;i>=sqrt(x);i++)
{
if(x%i==0)
return 0;
}
return 1;
}
int main()
{
int n,a,b,c;
cin>>n;
for(a=2;a<=n-4;++a)
for(b=2;b<=n-4;++b)
{
c=n-a-b;
if (U(a) && U(b) && U(c))
{
cout<<a<<" "<<b<<" "<<c;
return 0;
}
}
}
by huangwenlong @ 2017-02-07 21:36:23
1、素数应该先打表,也就是事先把所有可能的数是否素数都记录下来
2、没有考虑c<=0即a+b>=c的情况
by 水镜·极光玄现 @ 2017-02-09 21:54:10
谢谢