soul2024 @ 2023-09-16 22:19:46
#include<bits/stdc++.h>
using namespace std;
bool jk1(int n){
if(n==1)return false;
for(int i=2;i*i<=n;i++){
if(n%i==0)return false;
}
return true;
}
bool hw(int n) {
int s=0;
int k=n;
while(n!=0) {
s=s*10+n%10;
n/=10;
}
if(s==k)
return true;
else
return false;
}
int main(){
int n,m;
cin>>n>>m;
for(int i=n;i<=m;i++){
if(hw(i)&&jk1(i))cout<<i<<endl;
}
return 0;
}
by Miyamizu_Mitsuha @ 2023-09-16 22:44:52
用这个判断质数能不能稍微快一点
bool isp(int n) {
if (n <= 1) return false;
if (n <= 3) return true;
if (n % 2 == 0 || n % 3 == 0) return false;
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) return false;
}
return true;
}
by Miyamizu_Mitsuha @ 2023-09-16 22:50:24
这个要是不行那就只能主函数循环改写成
for(int i=n;i<=m;i++){
if(i==9989899){cout<<i;break;}
if(hw(i)&&jk1(i))cout<<i<<endl;
}
by soul2024 @ 2023-09-16 22:59:38
@p_Hydroxy 我最后一个测试点打表打出来了
by Miyamizu_Mitsuha @ 2023-09-16 23:00:11
@WJR2023 我试了一下主函数循环改成这个就嫩过