jywa @ 2024-08-18 20:04:57
这个代码只过了#1、#2和#6,其他全是TLE,请各位大佬帮忙指点一下
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int n){
if(n==0||n==1)return 0;
else{
for(int i=2;i<n;i++){
if(n%i==0)return 0;
}return 1;
}
}
bool isPalindrome(int num){
int p=num;
int k=0;
while(p!=0) {
k=k*10+p%10;
p=p/10;
}if(k==num)return 1;
else return 0;
}
int main(){
int a,b;
cin>>a>>b;
for(int i=a;i<=b;i++){
if(isPrime(i)&&isPalindrome(i))printf("%d\n",i);
}return 0;
}
谢谢您们的帮助!!!
by hanxiaofensheng @ 2024-08-18 20:46:08
谢谢,让我看看 @hymcr05
by Mzh2012 @ 2024-08-18 21:07:27
6
by xizao_haoxuan @ 2024-08-18 21:12:15
要用质数筛 for(int i=2;i<=b;i++) { isprime[i]=1; } for(int i=2;i<=b;i++) { if(isprime[i]) { prime[cnt]=i; cnt++; } for(int j=1;j<=cnt&&iprime[j]<=b;j++) { isprime[iprime[j]]=0; if(i%prime[j]==0) { break; } } }