这道题我简单说一下:统计出11~n(n<1000)里的回文素数的数量并输出。
麻烦神牛们看看我的代码哪里有问题:
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
int n;
int ans=0;
bool flag=false;
string x;
void IsPrime(int i){
for(int k=2;k<=sqrt(i);k++){
if(k%i==0){
flag=false;
return ;
}
}
flag=true;
}
int main(){
cin>>n;
if(n>11){
for(int i=11;i<=n;i++){
x=i;
if(i<=99){
if(x[0]==x[1]){
IsPrime(i);
if(flag==true){
ans++;
}
}
}
if(i>=100&&i<=999){
if(x[0]==x[2]){
IsPrime(i);
if(flag==true){
ans++;
}
}
}
}
}
printf("%d\n",ans);
return 0;
}
谢谢