纯粹素数

 

Time Limit: 1 Sec  Memory Limit: 128 MB

 

Submit: 124  Solved: 37
原题链接

 

Description

纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于3000的四位的纯粹素数。

Input

Output

按从小到大的顺序输出若干个纯粹素数,每行一个。

HINT

 

Source

 
#include<iostream>
#include<cmath>
using namespace std;
int Isprime(int n)
{
    int flag=1;
    if(n<=1)
    {return 0;}
    for(int i=2;i<n;i++)
    {
        if(n%i==0)
        {flag=0;
        break;}
    }
    
    return flag;
}
bool Ischun_Prime(int n)
{
    int count=0;
    
    for(int i=4;i>=1;i--)
    {
      n%=(int)pow(10,i);
        
        if(Isprime(n))    //去掉最高位仍为素数 
        
        {count++;}
        
       
    }
    
    if(count==4)
    return true;
    else 
    return false;
}
main()
{
    for(int i=1000;i<3000;i++)
    {
        if(Ischun_Prime(i))
        {cout<<i<<endl;}
    }
    
}
 

 

posted @ 2017-03-17 15:33  dearvee  阅读(1711)  评论(0编辑  收藏  举报