求大佬帮调

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

ycy1124 @ 2024-01-28 09:44:48

十万火急(悬赏关注)

#include<bits/stdc++.h>
using namespace std; 
bool pd(int n)
{
    if(n%2==0)
    {
        return 0;
    }
    for(int i=3;i*i<=n;i+=2)
    {
        if(n%i==0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int n;
    cin>>n;
    for(int i=2;i<=n;i++)
    {
        if(i!=2&&i%2==0)
        {
            i++;
        }
        for(int k=i;i<=n;k++)
        {
            if(k!=2&&k%2==0)
            {
                k++;
            }
            if(pd(i)==1&&pd(k)==1&&pd(n-i-k)==1)
            {
                cout<<i<<' '<<k<<' '<<n-i-k;
                return 0;
            }
        }
    }
    return 0;
}

by ycy1124 @ 2024-01-28 09:48:12

调了一次后 70 分的代码

#include<bits/stdc++.h>
using namespace std; 
bool pd(int n)
{
    if(n%2==0)
    {
        return 0;
    }
    for(int i=3;i*i<=n;i+=2)
    {
        if(n%i==0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int n;
    cin>>n;
    for(int i=3;i<=n;i+=2)
    {
        for(int k=i;i<=n;k+=2)
        {
            if(pd(i)==1&&pd(k)==1&&pd(n-i-k)==1)
            {
                cout<<i<<' '<<k<<' '<<n-i-k;
                return 0;
            }
        }
    }
    cout<<2<<' '<<2<<' '<<n-4;
    return 0;
}

by ycy1124 @ 2024-01-28 09:53:09

调第二次后还是 70

#include<bits/stdc++.h>
using namespace std; 
bool pd(int n)
{
    if(n%2==0)
    {
        return 0;
    }
    for(int i=3;i*i<=n;i+=2)
    {
        if(n%i==0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int n;
    cin>>n;
    if(pd(n-4)==1)
    {
        cout<<2<<' '<<2<<' '<<n-4;
    }
    for(int i=3;i<=n;i+=2)
    {
        for(int k=i;i<=n;k+=2)
        {
            if(pd(i)==1&&pd(k)==1&&pd(n-i-k)==1)
            {
                cout<<i<<' '<<k<<' '<<n-i-k;
                return 0;
            }
        }
    }
    return 0;
}

by ycy1124 @ 2024-01-28 09:57:26

调了三次好了 此贴结

#include<bits/stdc++.h>
using namespace std; 
bool pd(int n)
{
    if(n%2==0)
    {
        return 0;
    }
    for(int i=3;i*i<=n;i+=2)
    {
        if(n%i==0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int n;
    cin>>n;
    if(pd(n-4)==1)
    {
        cout<<2<<' '<<2<<' '<<n-4;
        return 0;
    }
    for(int i=3;i<=n;i+=2)
    {
        for(int k=i;i<=n;k+=2)
        {
            if(pd(i)==1&&pd(k)==1&&pd(n-i-k)==1)
            {
                cout<<i<<' '<<k<<' '<<n-i-k;
                return 0;
            }
        }
    }
    return 0;
}

|