【1015】Reversible Primes (20 分)

简介: 【1015】Reversible Primes (20 分)【1015】Reversible Primes (20 分)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue> 
using namespace std;  
//题大意:判断某数若是素数,其在某进制下反转后是否为素数
//key:判断素数,进制转换,逆序
//判断n是否为素数
bool isPrime(int n){ 
  if(n<=1) return false;
  int sqr=(int)sqrt(1.0*n);
  for(int i=2 ;i<=sqr; i++){
    if(n%i == 0) return false;
  }
  return true;
}
int d[111];
int main(){   
     int n,radix;
   while(scanf("%d",&n) != EOF ){
     if(n<0) break;  //当n是负数时,退出循环
     scanf("%d",&radix);
     if(isPrime(n) == false ){  //n不是素数,输出No,结束算法
       printf("No\n");
     }else{  //n是素数,判断n在radix进制下的逆序是否为素数
       int len=0;
       do{    //进行转换
         d[len++]=n%radix;
         n/=radix;
       }while(n!= 0);
       for(int i=0; i<len ; i++){  //按!!逆序!!转换机制
         n=n*radix +d[i];  
       }
       if(isPrime(n) == true)  printf("Yes\n");  //逆序是素数
       else printf("No\n");
     }
   }
    return 0;   
}
相关文章
|
11月前
L1-028 判断素数 (10 分)
L1-028 判断素数 (10 分)
PTA 7-4 最近的斐波那契数 (20 分)
斐波那契数列 F n ​ 的定义为:对 n≥0 有 F n+2 ​ =F n+1 ​ +F n ​ ,初始值为 F 0 ​ =0 和 F 1 ​ =1。
87 0
PTA 1056 组合数的和 (15 分)
给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。
103 0
h0125. 求sum(2) (15 分)
h0125. 求sum(2) (15 分)
52 0
7-49 判断素数 (10 分)
7-49 判断素数 (10 分)
84 0
【1075】PAT Judge (25 分)
【1075】PAT Judge (25 分) 【1075】PAT Judge (25 分)
100 0
【1093】Count PAT‘s (25分)【递推】
若直接暴力解会超时!! 可以先算出T的个数(一层for
100 0
【1048】Find Coins (25 分)
【1048】Find Coins (25 分) 【1048】Find Coins (25 分)
105 0