求助神犇!!!!这里为什么错了?????

P1579 哥德巴赫猜想(升级版)

水镜·极光玄现 @ 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

谢谢


|