大佬求解为啥30

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

zxit20190507135 @ 2019-10-27 09:43:24

#include<stdio.h>
int main()
{
    int n,i,m,j,p,c,y;
    int a[10000];
    int b[10000];
    scanf("%d",&n);
    m=0;
    j=0;
    for(i=0;i<=n;i++)
    {
        c=0;
        for(p=2;p<=m/2;p++)
        {
            if(m%p==0)
            {
                c++;
            }
        }
        if(c==0)
        {
            a[j]=m;
            j++;

        }
        m++;
    }
    y=0;
    for(j=0;j<10000;j++)
    {
        if(a[j]!=0&&a[j]!=1)
        {
            b[y]=a[j];
            //printf("%d ",b[y]);
            y++;
        }
    }
    //printf("%d",y);
    for(i=0;i<y;i++)
    {
        for(j=0;j<y;j++)
        {
            for(p=0;p<y;p++)
            {
                if(b[i]+b[j]+b[p]==n)
                {
                    printf("%d %d %d",b[i],b[j],b[p]);
                    return 0;
                }
            }
        }
    }   

}

by nth_element @ 2019-10-27 09:47:27

感觉您的代码有点复杂啊,您可以看一下我的代码

#include<bits/stdc++.h>
using namespace std;
int sushu(int n)
{
    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            return 1;
        }
    }
    return 0;
}
int main()
{
    int n,n1,n2,n3;
    scanf("%d",&n);
    for(n1=2;n1<=n-4;n1++)
    {
        for(n2=2;n2<=n-4;n2++)
        {
            n3=n-n1-n2;
            if(sushu(n1)+sushu(n2)+sushu(n3)!=0)
            {
                continue;       
            }
            printf("%d %d %d",n1,n2,n3);
            return 0;   
        }   
    }   

} 

by zxit20190507135 @ 2019-10-27 15:40:11

@nth_element 大佬没学过C++,求C语言指导


by awa再也不水贴 @ 2019-11-09 21:12:22

#include<stdio.h>
#include<math.h>
int sushu(int n)
{
    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            return 1;
        }
    }
    return 0;
}
int main()
{
    int n,n1,n2,n3;
    scanf("%d",&n);
    for(n1=2;n1<=n-4;n1++)
    {
        for(n2=2;n2<=n-4;n2++)
        {
            n3=n-n1-n2;
            if(sushu(n1)+sushu(n2)+sushu(n3)!=0)
            {
                continue;       
            }
            printf("%d %d %d",n1,n2,n3);
            return 0;   
        }   
    }   

} 

@zxit20190507135


by awa再也不水贴 @ 2019-11-09 21:12:35

@zxit20190507135 基本没区别


|