c求助,
查看原帖
c求助,
594160
shusanbei楼主2021/11/16 21:11

超时了,复炸程度过高,要咋优化呀,大佬救命sos

#include<stdio.h>
int isPrime(int k)
{
    int j;
    for ( j=2; j*j<=k; j++ )    //从2开始判断k是否能被整除,若能则不是素(质)数
    {                            //判断到根号k即可;
        if(k%j==0)    // 如果不为素(质)数返回0 
        {
           return 0;
        }
    }
    return 1;    // 反之则返回1 
}
int main()
{
    int N;
    scanf("%d",&N);
    for(int i=4;i<=N;i++)
    {
        if(i%2==0)
        {
            for(int j=2;j<N;j++)
            {
                for(int k=2;k<N;k++)
                {
                    if(isPrime(j)==1&&isPrime(k)==1&&i==j+k)
                    {
                        if(j<=k&&i%2==0)
                        {
                            printf("%d=%d+%d\n",i,j,k);
                            i++;
                        }
                    }
                }
            }
        }
    }
    return 0;
}
2021/11/16 21:11
加载中...