题目描述
纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。
比如 1013 本身是素数,去掉千位剩下的 13 也是素数,去掉千位百位还是 13,去掉千百十位剩下的是 3 也是素数。所以1013 是纯粹素数。
求出所有小于3000的四位的纯粹素数。
输入格式
无
输出格式
按从小到大的顺序输出若干个纯粹素数,每行一个。
#include<bits/stdc++.h>
using namespace std;
int zs(int a){
int f=1;
for(int j=2;j<=sqrt(a);j++){
if (a%j==0){
f=0;
break;
}
}
if(a==1){
f=0;
}
return f;
}
int main(){
for(int i=1000;i<=3000;i++){
int x=i;
if (zs(x%1000)==1&&zs(x%100)==1&&zs(x%10)==1&&zs(x)==1){
cout<<i<<endl;
}
}
return 0;
}