好吧。。。感觉挺容易
关于质数的判断,我用了一种很高端的方法,没有见过的可以看一下
其他没有什么好说的。。。直接上代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include<iostream> #include<cmath> using namespace std; int zhi(int); int main() { int n; cin>>n; for(int a=2;a<=n;a++) { if(zhi(a)) { for(int b=2;b<=n;b++) { if(zhi(b)) { int c=n-a-b; if(zhi(c)) { cout<<a<<" "<<b<<" "<<c; goto end; } } } } } end: return 0; } int zhi(int n) { if(n==2|n==3) return 1; if(n%6!=1&&n%6!=5) return 0; int tmp=sqrt(n); for(int i=5;i<=tmp;i+=6) if(n%i==0||n%(i+2)==0) return 0; return 1; }
|