zoukankan      html  css  js  c++  java
  • 求逆向超级素数

    一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数),
    且数p的各位数字均不为零,则称该数p为逆向超级素数。
    例如,617,17,7都是素数,因此617是逆向超级素数,
    尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。

    /**

     *@author xiao xiao an  

    *@Time 2014/5/4  

    *@Content To find super prime  

    *  

    * SuPrime.c  

    */

    #include<stdio.h>

    #include<Math.h>

    //判断是否有0 int IsZero(int n)

    {

        int value;

        int i;

        for(i=0;i<3;i++)

        {

            value = n%10;

            n = n/10;

            if(value == 0)

            {

                return 0;

            }

        }

        return 1;

    }

    //判断是不是素数

    int IsPrime(int n)

    {

        /** 判断是不是素数

        * 如果是素数返回1

        * 如果不是素数返回0

        */

        int i;

        int value = n;

        for(i = 2 ; i<=sqrt(value) ; i++)

        {

            if(value%i == 0)

            {

                //如果数被整除说明不是素数,返回0

                return 0;

            }

        }

        //如果上面都不符合,说明没有被整除,说明是素数,返回1  

       return 1;

    }

    int IsSuprime(int n) {

        /*

        判断abc ,bc,c是否都是素数

        */

       int value = n;

       if(IsZero(value))

       {

            int single = value % 10; //最高位去掉2位

            int ten    = value%100;//最高位去掉1位

            if(IsPrime(single)&&IsPrime(ten))//如果都是素数则返回1

                return 1;

       }

        return 0;

    }

    int main() {

        //统计逆向超级素数的个数

        int numberOfSuperprime = 0;

        printf("输出所有逆向超级素数: ");

        int i;

        //求出【100,999】内的所有超级素数

        for(i = 100 ; i < 1000 ; i++)

        {

        //判断是否是素数

          if(IsPrime(i))

          {

              //如果是素数,判断是否是逆向超级素数

             if(IsSuprime((i)))

             {

                 //打印所有素数

                printf("%d ",i);

                //个数+1

                numberOfSuperprime++;

             }

          }

        }

        printf(" 逆向超级素数的个数为%d",numberOfSuperprime);

        return 0;

    }

  • 相关阅读:
    入门金融学(1)
    递归之八皇后
    新手Oracle安装及使用入门
    RegExp正则校验之Java及R测试
    Mysql实现行列转换
    R语言之RCurl实现文件批量下载
    Consumer clientId=consumer-1, groupId=console-consumer-950] Connection to node -1 could not be
    线程池拒绝策略
    spring较为常用注解
    idea springboot启动报SLF4J:Failed to load class “org.slf4j.impl.StaticLoggerBinder”
  • 原文地址:https://www.cnblogs.com/xpng/p/3706787.html
Copyright © 2011-2022 走看看