永发信息网

在Java 抽取一个随机数由用户输入距离该随机数最接近或相等的质数是多少?

答案:2  悬赏:0  手机版
解决时间 2021-11-15 17:32
在Java 抽取一个随机数由用户输入距离该随机数最接近或相等的质数是多少?
最佳答案
这题目没看懂,也就是随机一个数出来,然后用户还要去算这个数的质数是多少?追问抱歉.因为太赶时间了
改一下
随机一个数出来,然后用户要去算最接近或相等于这个数的质数是多少追答这是求出距离随机数最近的质数:
public static void main(String[] args) {
        System.out.println("100以内素数如下:");
        int rn=new Random().nextInt(99)+1;//随机1~99的数字
        int min=100;//记录离随机数最近的一个质数
        int range=0;//记录每个质数到随机数的距离
        for (int i = 2; i < 100; i++) {// 循环判断每个数是不是质数
            if (isPrimeNumber(i) == true) {
                System.out.print(i + " ");
                if(i/rn==0){
                    range=rn-i;
                }else{
                    range=i-rn;
                }
                if(rn>min&&range                    min=i;
                else if(rn                    min=i;
            }
        }
        System.out.println("
随机数是:"+rn);
        System.out.println("距离最近的质数是:"+min);
    }
    private static boolean isPrimeNumber(int number) {
        for (int i = 2; i <= Math.sqrt(number); i++){// 用这个数循环除以2、3……一直到这个数的平方根数
            if (number % i == 0){// 如果有一个数被整除,说明不是质数
                return false;
            }
        }
        return true;
    }追问如果要确认用户输入的数字是否为最接近或相等于这个随机数的质数应该怎表达,如果输入对了便有分,不对便没分追答用户是先看到随机数再输入 还是说输入了再生产一个随机数去判断 ,你要表达清晰点。追问用户是先看到随机数再输入一个数字,这个数字要为最接近或相等于这个随机数的质数,

要这样问用户: 最接近或相等於(随机数)的数字是追答你把main方法换成下面这个吧:
int rn=new Random().nextInt(99)+1;//随机1~99的数字
        System.out.println("
随机数是:"+rn);
        System.out.println(" 最接近或相等於(随机数)的数字是:");
        Scanner in=new Scanner(System.in);
        int num=in.nextInt();
        if(!isPrimeNumber(num)){
            System.out.println("你输入的不是质数!");
            System.exit(1);
        }
        int min=100;//记录离随机数最近的一个质数
        int range=0;//记录每个质数到随机数的距离
        for (int i = 2; i < 100; i++) {// 循环判断每个数是不是质数
            if (isPrimeNumber(i) == true) {
                if(i/rn==0){
                    range=rn-i;
                }else{
                    range=i-rn;
                }
                if(rn>min&&range                    min=i;
                else if(rn                    min=i;
            }
        }
       
        System.out.println("你输入的数是:"+num+" ,正确的数是:"+min);
        if(num==min)
            System.out.println("结果正确!加10分!");
全部回答
输入距离 要做什么呢?追问输入距离随机数最接近的质数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
吃甜的尿多是什么原因 晚上起夜尿了四五次,
为什么同样是一段话,看书上和看自己的笔记完
睡衣买什么样的好?
投手在球队中的位置。
蒙人遇虎的答案 读了这个故事,你从蒙人的结
如何正确使用海藻面膜?
辽中近海大街科三考场在哪
锁芯齿轮和叶片哪个好
六个玉人吹奏乐器会是什么朝代的?
白蚁消杀后还会有吗
生化危机6终章百度云
『求解』是什么心理男人会突然剪光头
翔升630DDR3 2G和翔升630DDR5 TC1G哪个好
AVA侦察兵怎么才跑更快?
康县在哪个省?
推荐资讯
“若()若()”怎么填反义词?
请问厚街汉邦66广场好不好?值得购买吗?
新疆哈密最好的律师?
我2017年买的二手车需要多审车
联想G455插内存图解
z17mini大红色什么时候上市
coreldraw x5 可以打开哪些版本的CDR文件
中国农业银行(黄石东方支行)地址有知道的么?
帮忙用这五个短语造句,不用复杂,一句话就可
若(x^2+y^2)(x^2+y^2+6)=7,则x^2+y^2的值是?
假如我有一张一个地方的遥感图像,怎么在Goog
60万5厘的利,一年利息是多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?