加了句if(b>10000000) b=10000000;就过了?
查看原帖
加了句if(b>10000000) b=10000000;就过了?
1397208
lizan7楼主2024/10/6 23:11
#include<iostream>
#include<cmath>
int j,i,k,l;
using namespace std;
bool hui(int a){
	int ii=a,sum=0;
	while(ii)
	{
		sum=ii%10+sum*10;
		ii/=10;
	}
	if(a!=sum)return false;
	return true;
}
int main(){
	int a,b;
	cin>>a>>b;
    if(b>10000000) b=10000000;
	if(a%2==0)a++;
	bool isprime[b];
	for(i=0;i<b;i++)
	{
		isprime[i]=1;
	}
	int n=sqrt(b);
	for(int p=2;p<=n;p++)//p为实际值 
	{
		if(!isprime[p-1])continue;
		isprime[p-1]=1;
		for(j=p*2;j<=b;j+=p)
		{
			isprime[j-1]=0;
		}
	}
	for(i=a;i<=b;i+=2)
	{
		if(isprime[i-1]&&hui(i))cout<<i<<endl;
	}
	return 0;
}//2024.8.24

数据真有问题

2024/10/6 23:11
加载中...