fifast @ 2024-10-06 11:35:07
#include <bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
for(int i=a;i<=b;i++){
int ti=i,num=0;
while (ti!=0){
num=num*10+ti%10;
ti=ti/10;
}
if(num==i){
bool m=1;
for(int j=2;j<=sqrt(i);j++){
if(i%j==0){
m=0;
break;
}
}
if(m==1)cout<<i<<endl;
}
}
return 0;
}
by zts201210 @ 2024-10-06 11:38:27
@fifast 有没有一种可能,这道题不能用暴搜
by fifast @ 2024-10-06 11:41:48
@zts201210 我没有暴搜,我是按题目从a到b的!
by zts201210 @ 2024-10-06 11:43:30
@fifast 我说的意思是,你不能用暴力判断质数
by feizhu_QWQ @ 2024-10-06 11:43:50
你这不超才怪。
第一层循环就有一亿的时间复杂度,还在里面套一个质数判断,质数判断是有根号的时间复杂度的。
所以粗劣计算时间复杂度极限情况应该是:
by dongzirui0817 @ 2024-10-06 11:44:02
@fifast 本来就不能从
by fifast @ 2024-10-06 11:54:36
多谢@zts201210 @feizhu0130 @dongzirui0817
以关!(求互关)