题目描述
纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于3000的四位的纯粹素数。
输入
无
输出
按从小到大的顺序输出若干个纯粹素数,每行一个。
上代码:
#include<bits/stdc++.h>
using
namespace
std;
bool
s(
int
n)
{
if
(n<=1)
{
return
0;
}
if
(n==2||n==3)
{
return
1;
}
for
(
int
i=2;i<=
sqrt
(n);i++)
{
if
(n%i==0)
{
return
0;
}
}
return
1;
}
int
main()
{
for
(
int
i=1000;i<3000;i++)
{
if
(s(i)&&s(i%1000)&&s(i%100)&&s(i%10))
{
cout<<i<<endl;
}
}
return
0;
}