zoukankan      html  css  js  c++  java
  • [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 }
  • 相关阅读:
    成年人的快乐
    90后家庭的宠物
    计算机科学与技术易错知识点需记篇
    微机原理与接口编程技术2020 考试大纲知识点超细总结
    84.手写一个类的继承
    83.对前端路由的理解?前后端路由的区别
    81.$(document).ready()方法和window.onload有什么区别?
    80.浏览器是如何渲染页面的
    77、常用的拖拽事件
    75.json和jsonp的区别?
  • 原文地址:https://www.cnblogs.com/PureJava/p/10498000.html
Copyright © 2011-2022 走看看