Chinaunix首页 | 论坛 | 博客
  • 博客访问: 293364
  • 博文数量: 69
  • 博客积分: 2946
  • 博客等级: 少校
  • 技术积分: 800
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-09 04:15
文章分类

全部博文(69)

文章存档

2013年(6)

2012年(16)

2011年(18)

2010年(29)

分类: C/C++

2010-04-12 02:58:41

这个题目很简单,但给出的代码比较烦。可以利用循环把代码写的更精炼些,我没有这样做,很抱歉。
CODE:

#include<iostream>
#include<cstdlib>
#include<cmath>

using namespace std ;

bool testprimer(int n) //test n is prime or not
{
    bool rezult ;
    for(int i=2;i<=sqrt(n);i++)
    if(n%i==0) {
                 rezult = false ;
                 break ;
                 }
    else rezult = true ;
    return rezult ;
}
void superprime(int n , int number )
{
     if(number==1)
     cout<<n<<endl ;
     else {
     if(testprimer(10*n+1))
     superprime(10*n+1,number-1);
     if(testprimer(10*n+3))
     superprime(10*n+3,number-1);
     if(testprimer(10*n+7))
     superprime(10*n+7,number-1);
     if(testprimer(10*n+9)
     superprime(10*n+9,number-1);
          }
}

int main()
{
    int number ;
    cin>>number ;
   superprime(2,number);
   superprime(3,number);
   superprime(5,number);
   superprime(7,number);
   system("pause");
   return 0 ;
}


Web Hosting
阅读(518) | 评论(0) | 转发(1) |
0

上一篇:xmu 1072

下一篇:xmu1010

给主人留下些什么吧!~~