题目描述
如果一个数即是回文数又是素数(质数)的话,则称这个数为回文素数。
其中回文数的定义为,如果一个数从左边看和从右边看一样,则该数称为回文数。如数字12321就是个回文数。
请输出从100100~nn的所有回文素数。
输入格式
一个整数nn。
输出格式
从100100~nn的所有回文素数,空格隔开。
数据范围
对50%的数据,100<n≤999100<n≤999;
对100%的数据,999<n≤106999<n≤106。
提示
小T的思路为:定义两个函数is_hw()和is_ss()分别用于判断一个数是不是回文数/素数,若是回文数/素数则函数返回一个数字1,否则返回0。
然后结合两个函数的返回值结果来判定其是否为回文素数。
下方是小T未完成的程序,请在此基础上将程序补充完整。
#include <iostream>
using namespace std;
int is_hw(int o){
int l=0;
int t=o;
while(o!=0){
l=l*10+(o%10);
o=o/10;
}
if(l==t){
return 1;
}else{
return 0;
}
}
int is_ss(int o){
for(int i=2;i*i<=o;i++){
if(o%i==0){
return 0;
}
}
return 1;
}
int main(){
int n;
cin >> n;
for(int i = 100; i <= n; i++){
if(is_hw(i)&&is_ss(i)){
cout << i << " ";
}
}
return 0;
}
请关注!!