wyqwyqwyqwyq @ 2024-01-06 14:18:12
代码如下:
#include<iostream>
using namespace std;
bool zs(long long n){
if(n==0 || n==1){
return 0;
}
for(int i=2;i<n;i++){
if(n%i==0){
return 0;
}
}
return 1;
}
bool hw(long long n){
long long s=n;
long long x=0;
while(s!=0){
x=x*10+s%10;
s/=10;
}
if(x==n){
return 1;
}
else{
return 0;
}
}
int main(){
long long a,b;
cin>>a>>b;
for(long long i=a;i<=b;i++){
if(zs(i)==1 && hw(i)==1){
if(){
cout<<i<<endl;
}
}
}
return 0;
}
by summer_000 @ 2024-01-08 11:08:10
超时间复杂度了,
素数判断可以只判断到该数的平方根。
看题目提示,用枚举更快。
素数判断可以这么写:
bool isprime(int i)
{
bool flag = true;
if (i == 1) { return false; }
else
{
for (int j = 2; j <= sqrt(i); j++)
{
if (i % j == 0) { flag = false; break; }
else { continue; }
}
if (flag || i == 2 || i == 3) { return true; }
else { return false; }
}
}