超级素数
一个n位超级素数是指一个n位正整数,它的前1位,前2位,……,前n位均为素数,例如,733是个3位超级素数,因为7,73,733均为素数。编一程序,输出全部的n位数超级素数。
输入
一个正整数n,n不超过9。
输出
多行,每行一个超级素数。
样例输入
2
样例输出
23
29
31
37
53
59
71
73
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int a)
{
if(a<=1) return 0;
for(int i=1;i*i<=a;i++)
if(a%i==0) return 0;
return 1;
}
bool super(int a)
{
while(a>1)
{
if(isPrime(a)==0)
{
return 0;
}
else
{
a/=10;
}
}
return 1;
}
int main()
{
int n,s=1;
cin>>n;
for(int i=1;i<=n;i++) s*=10;
for(int i=s/10;i<s;i++)
{
if(super(i)) cout<<i<<endl;
}
return 0;
}
79