jwsdy @ 2023-09-15 17:12:43
#include<bits/stdc++.h>
using namespace std;
int a,b;
bool ss(int s){
if(s<=1)
return false;
for(int i=2;i<=sqrt(s);i++){
if(s%i==0)
return false;
}
return true;
}
bool huiwen(int s){
int x[20];
memset(x,0,sizeof(x));
int n=0;
while(s!=0){
x[++n]=s%10;
s/=10;
}
for(int i=1;i<=n;i++)
if(x[i]!=x[n-i+1]) return false;
return true;
}
int main(){
ios::sync_with_stdio(false);
cin>>a>>b;
if(a%2==0) a++;
for(int i=a;i<=b;i+=2){
if(ss(i)&&huiwen(i))
cout<<i<<endl;
}
return 0;
}
求大佬可以解决蒟蒻的问题
顺便告诉蒟蒻为什么这位谷友的代码不会超时,而我的却会
万分感谢
by w102 @ 2023-09-15 18:08:30
#include<bits/stdc++.h>
using namespace std;
int a,b;
bool ss(int s){
if(s<=1)
return false;
for(int i=2;i<=sqrt(s);i++){
if(s%i==0)
return false;
}
return true;
}
bool huiwen(int x){
int n=x,a[20],k=0;
while(n!=0){
a[k++]=n%10;
n/=10;
}
for(int i=1;i<k;i++){
if(a[i]!=a[k-1-i]) return false;
}
return true;
}
int main(){
ios::sync_with_stdio(false);
cin>>a>>b;
if(a%2==0) a++;
for(int i=a;i<=b;i+=2){
if(huiwen(i)){
if(ss(i)){
cout<<i<<endl;
}
}
}
return 0;
}
回文数判断太麻烦,循环里先判断回文再判断素数,开了02能过