求解!!!为什么去掉9989899以后的数还是不行?
查看原帖
求解!!!为什么去掉9989899以后的数还是不行?
381086
李周默楼主2021/3/25 13:11
#include <bits/stdc++.h>
using namespace std;
int c[10000];
int sup(int x){
	if(x==0||x==1) return 0;
	for(int i=2;i*i<=x;i++){
		if(x%i==0) return 0;
	}
	return 1;
}
int bbc(int x){
	if(sup(x)==0) return 0;
	if(sup(x)==1){
		int sum=0;

		while(x){			
			sum++;
			c[sum]=x%10;
			x/=10;
		}
		for(int i=1;i<=sum;i++){
			if(c[i]!=c[sum-i+1]) return 0;
		}
		return 1;
	}
}
int main(){
	unsigned a,b;cin>>a>>b;
	for(int i=a;i<=b;i++){
	if(i>9989899&&i<=100000000) continue;
	if(i>7996997&&i<9002009) continue;
	if(i>3998993&&i<7014107) continue;
	if(i>1998991&&i<3001003) continue;
	if(i>98689&&i<1003001) continue;
	if(i>19991&&i<30103) continue;
	else if(bbc(i)==1) cout<<i<<endl;
	}
	return 0;
}
2021/3/25 13:11
加载中...