题意是求长度为N,的且,前i(i为,1,2,3.....N-1)位数字构成的数字都是素数的数字
例如2333,其中2,23,233,2333,都是素数
/*
ID: modengd1
PROG: sprime
LANG: C++
*/
#include <iostream>
#include <stdio.h>
using namespace std;
bool IsPrime(int x)
{
if(x==1)
return false;
if(x==2)
return true;
if(x%2==0)
return false;
for(int i=3;i*i<=x;i++)
{
if(x%i==0)
return false;
}
return true;
}
void slove(int deep,int limit,int now)
{
if(deep==limit)
{
if(IsPrime(now))
cout<<now<<endl;
return;
}
for(int i=1;i<=9;i++)
{
if(IsPrime(now*10+i))
slove(deep+1,limit,now*10+i);
}
}
int main()
{
freopen("sprime.in","r",stdin);
freopen("sprime.out","w",stdout);
int N;
cin>>N;
slove(0,N,0);
return 0;
}
原文:http://www.cnblogs.com/modengdubai/p/4768237.html