素数

#include <cstdio>
#include <cmath>
int N;
bool isp(int n)
{
     if( n <= 1 ) return 0;
     if( n == 2 ) return 1;
     int i , t = sqrt(n);
     for(i = 2 ; i <= t ; i++)
           if(n%i == 0)
                  return 0;
     return 1;
}
void dfs(int n, int len)
{
     if(len == N)
     {
            printf("%d\n",n);
            return;
     }
     else
     {
         int i ;
         for(i = 2 ; i < 10 ; i++)
               if(isp(n*10+i))
                  dfs(n*10+i,len+1);
     }
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
       int i ; 
       scanf("%d",&N);
       for(i = 2 ; i < 10 ; i++)
       {
             if(isp(i))
                dfs(i,1);
       } 
    }      
    return 0;
}
原文地址:https://www.cnblogs.com/QQbai/p/2135254.html