利用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原生序列化和Kryo序列化性能实例对比分析

    java原生序列化和Kryo序列化性能实例对比分析

    这篇文章主要介绍了java原生序列化和Kryo序列化性能实例对比分析,涉及Java和kryo序列化和反序列化相关实例,小编觉得很不错,这里分享给大家,希望给大家一个参考。
    2017-10-10
  • Java实现黄金分割法的示例代码

    Java实现黄金分割法的示例代码

    黄金分割法是一种区间收缩方法。所谓区间收缩方法,指的是将含有最优解的区间逐步缩小,直至区间长度为零的方法。本文将用Java实现这一算法,需要的可以参考一下
    2022-03-03
  • 浅谈Java序列化和反序列化为何要实现Serializable接口

    浅谈Java序列化和反序列化为何要实现Serializable接口

    这篇文章主要介绍了浅谈Java序列化和反序列化为何要实现Serializable接口,序列化最重要的作用是在传递和保存对象时.保证对象的完整性和可传递性,对象转换为有序字节流,以便在网络上传输或者保存在本地文件中,需要的朋友可以参考下
    2023-12-12
  • idea hibernate jpa 生成实体类的实现

    idea hibernate jpa 生成实体类的实现

    这篇文章主要介绍了idea hibernate jpa 生成实体类的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • springboot调用python脚本的实现示例

    springboot调用python脚本的实现示例

    本文介绍了在SpringBoot应用中调用Python脚本,包括ProcessBuilder类和ApacheCommonsExec库两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12
  • Java Spring拦截器案例详解

    Java Spring拦截器案例详解

    这篇文章主要介绍了Java Spring拦截器案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java根据Request获取客户端IP

    Java根据Request获取客户端IP

    这篇文章主要介绍了Java根据Request获取客户端IP的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • 如何自定义一个SpringBoot Starter(步骤和代码示例)

    如何自定义一个SpringBoot Starter(步骤和代码示例)

    创建自定义Spring Boot Starter涉及封装特定功能供其他项目复用,下面给大家详细介绍如何自定义一个SpringBoot Starter,感兴趣的朋友跟随小编一起看看吧
    2025-08-08
  • 重写hashCode()和equals()方法详细介绍

    重写hashCode()和equals()方法详细介绍

    这篇文章主要介绍了重写hashCode()和equals()方法详细介绍,涉及重写equals()方法,重写hashCode()方法,重写equals()而不重写hashCode()的风险等相关内容的介绍,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • java 发送http和https请求的实例

    java 发送http和https请求的实例

    下面小编就为大家分享一篇java 发送http和https请求的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01

最新评论