利用java判断质数的3种方法代码示例

 更新时间:2023年07月21日 10:42:34   作者:爬楼梯的猫  
这篇文章主要给大家介绍了关于利用java判断质数的3种方法,在大于1的整数中,如果只包含1和本身这两个约数,就被称为质数(素数),文中给出了详细的代码示例,需要的朋友可以参考下

方法一:质数只能被1和它本身整除

import java.util.Scanner;
 
public class Test {
    public static void main(String[] args) {
        int n = new Scanner(System.in).nextInt();
        int i = 2;
        for (;i < n;i++){
            if (n % i == 0){
                System.out.println(n + "不是素数");
                break;
            }
        }
        //将2~(n-1)之间所有整数都除一遍,以确保其中没有可以整除的数
        if (i == n){
            System.out.println(n + "是素数");
        }
    }
}

方法二:一个数总能写成“n = a * b”的形式,a和b之间一定有一个数不大于n/2

import java.util.Scanner;
 
public class Test {
    public static void main(String[] args) {
        int n = new Scanner(System.in).nextInt();
        int i = 2;
        for (;i < n/2;i++){
            if (n % i == 0){
                System.out.println(n + "不是素数");
                break;
            }
        }
        //将2~(n/2)之间所有整数都除一遍,以确保其中没有可以整除的数
        //每一个整数都可以看做有两个数相乘得到,且每一个整数不会超过原整数的一半,除了原整数本身
        if (i > n/2){
            System.out.println(n + "是素数");
        }
    }
}

方法三:每一个整数都可以看做由两个数相乘得到,且每个乘数不大于原整数的平方根

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        int n = new Scanner(System.in).nextInt();
        int i = 2;
        for (;i <= Math.sqrt(n);i++){
            if (n % i == 0){
                System.out.println(n + "不是素数");
                break;
            }
        }
        if (i > Math.sqrt(n)){
            System.out.println(n + "是素数");
        }
    }
}

附:判断1-100所有数是否为质数

实现代码

public class Test5 {
    public static void main(String[] args) {
        System.out.println(2 + "这是质数");
        for (int i = 3; i <= 10; i++) {
            boolean flag = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    System.out.println(i + "这不是质数");
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.println(i + "这是质数");
            }
        }
    }
}

实现结果

总结

到此这篇关于利用java判断质数的3种方法的文章就介绍到这了,更多相关java判断质数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java+OpenCV实现图片中的人脸识别

    Java+OpenCV实现图片中的人脸识别

    这篇文章主要介绍了如何利用java opencv实现人脸识别功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • java long转String +Codeforces110A案例

    java long转String +Codeforces110A案例

    这篇文章主要介绍了java long转String +Codeforces110A案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • SpringMVC实现账号只能在一处登陆

    SpringMVC实现账号只能在一处登陆

    这篇文章主要为大家详细介绍了SpringMVC如何实现账号只能在一处登陆,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Java实现获取内网的所有IP地址

    Java实现获取内网的所有IP地址

    这篇文章主要介绍了如何利用Java语言实现获取内网的所有IP地址,文中的示例代码讲解详细,对我们学习有一定的参考价值,快跟随小编一起学习一下吧
    2022-06-06
  • Java设计模式之备忘录模式详解

    Java设计模式之备忘录模式详解

    这篇文章主要介绍了Java设计模式之备忘录模式详解,备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态,需要的朋友可以参考下
    2023-12-12
  • SpringBoot中shiro过滤器的重写与配置详解

    SpringBoot中shiro过滤器的重写与配置详解

    在前后端分离跨域访问的项目中shiro进行权限拦截失效 (即使有正确权限的访问也会被拦截) 时造成302重定向错误等问题,为解决这个问题,就需要进行shiro过滤器的重写以及配置。本文详细介绍了解决方法,需要的可以参考一下
    2022-04-04
  • java synchronized的用法及原理详解

    java synchronized的用法及原理详解

    如果要保证并发情况下多线程共享数据的访问安全,操作的原子性,就可以使用synchronized关键字。这篇文章主要介绍了java synchronized的用法及原理,需要的朋友可以借鉴一下
    2021-08-08
  • Java数组看这篇就够了

    Java数组看这篇就够了

    这篇文章主要介绍了Java数组的详细解释,是Java入门学习中的基础知识,需要的朋友可以参考下,希望能够给你带来帮助
    2021-09-09
  • 一个Servlet是如何处理多个请求的?

    一个Servlet是如何处理多个请求的?

    以前我一直以为一个Servlet只能处理一个请求,后来发现是自己太菜了,可以借助携带一个参数来完成多个请求的处理,根据参数的不同,在核心的service方法中调用不同的业务方法,来实现处理多个servlet请求的目的,废话不多说,直接上代码,需要的朋友可以参考下
    2021-06-06
  • IDEA去除xml文件的黄色背景的操作步骤

    IDEA去除xml文件的黄色背景的操作步骤

    这篇文章主要介绍了IDEA去除xml文件的黄色背景的方法,本文通过图文结合的方式给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,感兴趣的朋友可以参考下
    2023-12-12

最新评论