最后一个MLE 求助大佬
查看原帖
最后一个MLE 求助大佬
397926
愚末语tenseTL楼主2020/10/24 16:07
#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 100000005
int a,b;
int d[N];
int find(int num) {

    int temp=num,ans=0;
    while (temp!=0) {
        ans=ans*10+temp%10;
        temp/=10;
    }
    if (ans==num)
        return 1;
    else
        return 0;
}
void ott(int t,int b)
{
	for(int i=0;i<=b;i++)
	d[i]=1;
	d[0]=d[1]=0;
	for(int i=2;i<=t;i++)
	{
		if(d[i]!=0)
		{
		//	printf("i=%d\n",i);
			for(int j=i*2;j<=b;j+=i)
			{
			d[j]=0;
		//	printf("j=%d\n",j);
		    }
			
		}
	}
}
int main()
{
	scanf("%d%d",&a,&b);
	int t=(int)sqrt(b)+1;
	ott(t,b);
	for(int i=a;i<=b;i++)
	{
		if(d[i]&&find(i))
		printf("%d\n",i);
	}
	return 0;
 } 
2020/10/24 16:07
加载中...