Smile9870

1015. Reversible Primes (20)

生词以及在文中意思
prime 素数
1.java十进制转为N进制:
Integer.toString(int i,int radix)//返回的是i的二进制表示,返回类型为String,但是负数不适用。
 N进制转为十进制:
Integer.parseInt(String s,int radix)//radix进制的s,转化为十进制,返回类型为int
 是不是很方便!!!瞬间感觉用java刷题也挺好用。

2.java反转字符串:String类本身没有反转类,需要包装成Stringbuiler或者是StringBuffer类。

public class test {
    public static void main(String[] args) {
        String a="abcde";
        StringBuilder b = new StringBuilder(a);
        System.out.print(b.reverse());//b.reverse还是StringBuilder类,虽然可以直接输出但如果要将其作为String类型参数还需要.toString()

 代码如下

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while (n >= 0) {
            int m = sc.nextInt();
            boolean IsPrime = true;
            for (int i = 2; i <= Math.sqrt(n); i++) {
                if (n % i == 0) {
                    IsPrime = false;
                }
            }
            String s = Integer.toString(n, m);
            StringBuilder st = new StringBuilder(s);
            s = st.reverse().toString();
            int a = Integer.valueOf(s, m);
            if (a == 1 || a == 0) {
                IsPrime = false;
            }
            for (int i = 2; i <= Math.sqrt(a); i++) {
                if (a % i == 0) {
                    IsPrime = false;
                }
            }
            if (IsPrime) {
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
            n = sc.nextInt();
        }
    }

}
如有改进建议请告知,不胜感激!

 

posted on 2018-01-03 23:21  Smile9870  阅读(129)  评论(0编辑  收藏  举报

导航