• [PAT] 1015 Reversible Primes (20 分)Java


    A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its reverse 37 is also a prime.

    Now given any two positive integers N (<105​​) and D (1<D10), you are supposed to tell if N is a reversible prime with radix D.

    Input Specification:

    The input file consists of several test cases. Each case occupies a line which contains two integers N and D. The input is finished by a negative N.

    Output Specification:

    For each test case, print in one line Yes if N is a reversible prime with radix D, or No if not.

    Sample Input:

    73 10
    23 2
    23 10
    -2
    

    Sample Output:

    Yes
    Yes
    No

     1 import java.io.BufferedReader;
     2 import java.io.IOException;
     3 import java.io.InputStreamReader;
     4 
     5 /**
     6  * @Auther: Xingzheng Wang
     7  * @Date: 2019/2/20 22:41
     8  * @Description: pattest
     9  * @Version: 1.0
    10  */
    11 public class PAT1015 {
    12 
    13     public static void main(String[] args) throws IOException {
    14         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    15         while (true) {
    16             String[] in = reader.readLine().split(" ");
    17             int num = Integer.parseInt(in[0]);
    18             if (num < 0) break;
    19             int indax = Integer.parseInt(in[1]);
    20             if (isprime(num) && isprime(reve(num,indax))) {
    21                 System.out.println("Yes");
    22             }else{
    23                 System.out.println("No");
    24             }
    25         }
    26     }
    27 
    28     private static int reve(int num, int indax) {
    29         StringBuilder sb = new StringBuilder(Integer.toString(num, indax)).reverse();
    30         return Integer.parseInt(sb.toString(), indax);
    31     }
    32 
    33     private static boolean isprime(int num){
    34         if(num == 1) return false;
    35         for (int i = 2; i <= Math.sqrt(num); i++) {
    36             if (num % i == 0)
    37                 return false;
    38         }
    39         return true;
    40     }
    41 }
  • 相关阅读:
    国防科学技术大学第忘记叫啥杯了
    2015 湘潭大学程序设计比赛(Internet)--D题-最小的数 2015-05-13 20:55 51人阅读 评论(0) 收藏
    ACM的探索之Everything is Generated In Equal Probability! 后序补充丫!
    线段树进阶之模板观见
    《地狱是上帝不在的地方》
    《E=MC2或一个思想的故事》
    画图软件gliffy
    线段树进阶之递归实现
    party lamps(dfs优化+规律枚举)
    滑雪(dfs+dp)
  • 原文地址:https://www.cnblogs.com/PureJava/p/10498000.html
Copyright © 2020-2023  润新知