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;

    }

  • 相关阅读:
    jmeter获取当前时间、时间运算、时间比较、时间转换
    jmeter实现sha256算法加密
    用FinalShell连接linux服务器
    dstat:except getopt.error, exc:
    新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚
    Spring Cloud 教程
    使用VMware Workstation Player虚拟机安装Linux系统
    Java并发编程:Java实现多线程的几种方式
    Java并发编程:Java中的锁和线程同步机制
    Spring Boot:使用Rabbit MQ消息队列
  • 原文地址:https://www.cnblogs.com/xpng/p/3706787.html
Copyright © 2011-2022 走看看