互三必回!!!
其实还是一个判断
先赞后复制,是个好习惯!
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,j,n,x=0,y=0,k,f=0;
cin>>n; // 从输入流中读取一个整数n
for(i=2;i<=n;i++){ // 循环遍历从2到n的每一个数
y=1; // 初始化y为1
k=i; // 将k赋值为当前遍历到的数i
x=0; // 初始化x为0
while(k>0){ // 反转k的各个位上的数字
x=10*x+k%10;
k=k/10;
}
if(x==i){ // 如果反转后的数与原数相等
y=1; // 将y设置为1
for(j=2;j*j<=i;j++){ // 判断i是否为素数
if(i%j==0){
y=0; // 如果i能被j整除,则将y设置为0
break;
}
}
if(y==1){ // 如果i是回文素数
f++; // 计数器f加1
if(f%5==0)
cout<<i<<endl; // 输出i,并换行
else
cout<<i<<" "; // 输出i,并加上空格
}
}
}
return 0;
}