题解 | #双素数#

双素数

http://www.nowcoder.com/practice/8cb1f3979b524ed1ba67b4f64ed9e4f2

import java.util.Scanner;

/**
 * 双素数
 * @Author zhuyq
 * @Date 2021-09-17
 */
public class Main {
    private static int maxVal = 1000000;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println(getMinKDoublePrime(Integer.parseInt(in.nextLine())));
    }



    //输出第k小的双素数
    public static int getMinKDoublePrime(int k){
        int minKDoublePrime = -1;
        int count = 0;
        for(int i=1; i<=maxVal; i++){
            if(isDoublePrime(i)){
                count++;
                if(count==k){
                    minKDoublePrime=i;
                    break;
                }
            }
        }
        if(count<k){
            minKDoublePrime=-1;
        }
        return minKDoublePrime;
    }


    //判断是否是双素数
    public static boolean isDoublePrime(int number){
        boolean isDoublePrime = true;
        if(isPrime(number)){
            int reverseNumber = Integer.parseInt(new StringBuffer(String.valueOf(number)).reverse().toString());
            if(number!=reverseNumber && isPrime(reverseNumber)){
                isDoublePrime=true;
            }
            else{
                isDoublePrime=false;
            }
        }
        else{
            isDoublePrime=false;
        }
        return isDoublePrime;
    }



    //判断是否是素数
    public static boolean isPrime(int data){
        if(data<2) return false;
        for(int i=2;i<=Math.sqrt(data);i++){
            if(data%i==0) return false;
        }
        return true;
    }



}
全部评论

相关推荐

无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务