zoukankan      html  css  js  c++  java
  • PAT:1015. Reversible Primes (20) AC

    #include<stdio.h>
    #include<math.h>
    #include<algorithm>
    using namespace std;
    
    int D[111];          //存放拆解的数字
    int DI=0;          //D的数组下标
    
    bool isPrime(int n)
    {
      if(n<=1)
        return 0;
      int sqr=(int)sqrt(1.0*n);
      for(int i=2 ; i<sqr+1 ; ++i)
        if(0==n%i)
          return 0;
      return 1;
    }
    
    int main()
    {
      int n,d;
      while(scanf("%d",&n)!=EOF)
      {
        if(n<0)            //循环退出的条件
          break;
        scanf("%d",&d);
        if(isPrime(n)==1)      //输入数字是素数
        {
          DI=0;
          do            //【skill】do……while法。转为d进制
          {
            D[DI++]=n%d;
            n/=d;
          }while(n!=0);
          int n2=0;
          for(int i=0 ; i<DI ; ++i)  //生成n逆序的d进制数n2
          {
            n2=n2*d+D[i];      //【warining】n2=千万不要习惯性写成n2+=!!!!!
          }
    
          if(isPrime(n2)==1)    //也是素数,则Yes
          {
            printf("Yes
    ");
            continue;
          }
        }
        printf("No
    ");        //转变数不是素数或者输入就不是素数,直接No
      }
      return 0;
    }
  • 相关阅读:
    练习4.22、4.23、4.24
    练习4.20
    练习4.17、4.18、4.19
    mysql基础语句
    mysql的innodb存储引擎
    git
    mysql集群7.4.1
    批量执行命令
    cnetos 7 mariadb 集群报错分析解答
    windows_agent 添加
  • 原文地址:https://www.cnblogs.com/Evence/p/4317805.html
Copyright © 2011-2022 走看看