最后一个点TLE,哪位大佬帮着优化一下
查看原帖
最后一个点TLE,哪位大佬帮着优化一下
244164
835790570zxk楼主2020/10/18 10:38
#include<iostream>
using namespace std;
bool b[100000001];//b[i]为 false表示i为素数 
bool hw(int x){//函数判断回文数(蒟蒻英语不好,只能用拼音) 
	if((x%10)%2==0) return false;
	int c[10];//拆开存数的每一位 
	int k=0;
	while(x>0){
		k++;
		c[k]=x%10;
		x=x/10;
	}
	for(int i=1;i<=k/2;i++){
		if(c[i]!=c[k-i+1]) return false;
	}
	return true;
}
int main(){
	int l,r;//范围 
	cin>>l>>r;
	b[2]=false;
	for(int i=2;i*i<=r;i++){//筛素数(用的啥筛我忘了)(或者根本不是筛) 
		if(b[i]==false){
		    for(int j=i;j*i<=r;j++){
			    b[i*j]=true;
			}
		}
	}
	for(int i=l;i<=r;i++){
		if(b[i]==false && hw(i)){
		    cout<<i<<endl;
		}
	}
	return 0;
}
```cpp
2020/10/18 10:38
加载中...