埃筛了怎末还过不了?测试结果MLE
查看原帖
埃筛了怎末还过不了?测试结果MLE
527663
ALexanse楼主2022/9/16 08:58
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<math.h>
int isprime(int num);
int ishuiwen(int q);
int main(void)
{
    int min,max;
    int flag;
    scanf("%d %d",&min,&max);
    bool str[max];
    for(int i=0;i<max;i++)
    {
        str[i]=true;
    }
    for(int i=min; i<=max; i++)
    {
        if(!isprime(i))
        {
            for(int j=i*i; j<max; j+=i)
            {
                str[j]=false;
            }
            flag=ishuiwen(i);
           if(flag==1)
            {
                printf("%d\n",i);
            }
        }
    }

    return 0;
}

int  isprime(int num)
{
    for(int i=2;i<=sqrt(num);i++)
    {
        if(num%i==0)
            return true;
    }
    return false;
}
int ishuiwen(int q)
{
    int k=0;
    int j=q;
    while(j)
    {
        k=k*10+j%10;
        j/=10;
    }
    if(k==q)
        return 1;
    else
        return 0;
}
2022/9/16 08:58
加载中...