欧拉筛都干出来,最后一个点都超时
查看原帖
欧拉筛都干出来,最后一个点都超时
704679
mrHCT楼主2023/1/14 00:00
#include<iostream>
using namespace std;
int isprime[100000000];
bool notprime[100000000];
int k=0;
int shu=100000000;
int sk=0;
int t1=0;
int main()
{   int a,b;
    cin>>a>>b;
	for(int i=2;i<=b;i++)
	{
		if(notprime[i]==false)
		{
			isprime[k]=i;
			if(a>=isprime[k-1]&&a<=isprime[k])
			{
			a=k;
			}
			k++;
		}
		for(int j=0;j<k&&isprime[j]*i<shu;j++)
		{
			notprime[isprime[j]*i]=true;
			if(i%isprime[j]==0)break;
		}
	}		
	isprime[0]=0;isprime[1]=0;
		for(int i=a;i<=k;i++)
		{
			int n=isprime[i];
			int sum=0;
			for(int j=0;n>0;j++)
			{	
			sum=sum*10+n%10;
			n=n/10;
		}
		if(sum==isprime[i]&&isprime[i]!=0)
		cout<<isprime[i]<<endl;
		}
//cout<<a;
	return 0;
}
2023/1/14 00:00
加载中...