呜呜呜,C++ 66分超时,求优化!!!
查看原帖
呜呜呜,C++ 66分超时,求优化!!!
732017
Again1楼主2022/9/3 21:53

求各位大佬帮忙改改啊!!!!

没错我是蒟蒻o(╥﹏╥)o

#include<bits/stdc++.h>
using namespace std;
int a,b;
int huiwen[10000001];
int p[10000001];
string change(int t)
{
    stringstream ss;
    ss<<t;
    string q;
    ss>>q;
    return q;
}
void huiwena()
{
    for(int k=a;k<=b;k++)
    {
        string c=change(k);
        for(int i=0,j=c.size()-1;i+1<=c.size();i++,j--)
        {
            if(c[i]!=c[j])
                huiwen[k]=1;
        }
    }
}
void zhishu()
{
	p[1]=1;
	for (int i=2;i<=b;i++)

       if (p[i]==0)
	   { 
           p[i]=0;

           for (int j=i+i; j<=b; j+=i)

              if (p[j]==0) p[j]=1;

       } 
}
int main(){
	scanf("%d%d",&a,&b);
	huiwena();
	zhishu();
	for(int i=a;i<=b;i++)
	{
		if(p[i]==0 && huiwen[i]==0)
		{
			printf("%d\n",i);
		}
	}
	
	
    	
    return 0;
}
2022/9/3 21:53
加载中...