利用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判断质数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解使用Spring快速创建web应用的两种方式

    详解使用Spring快速创建web应用的两种方式

    这篇文章主要介绍了详解使用Spring快速创建web应用的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 使用Java开发实现OAuth安全认证的应用

    使用Java开发实现OAuth安全认证的应用

    这篇文章主要介绍了使用Java开发实现OAuth安全认证的应用的方法,OAuth安全认证经常出现于社交网络API应用的相关开发中,需要的朋友可以参考下
    2015-11-11
  • Java中HashMap集合的常用方法详解

    Java中HashMap集合的常用方法详解

    本篇文章给大家带来的内容是关于Java中HashMap集合的常用方法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。下面我们就来学习一下吧
    2021-11-11
  • java时间格式的简单整理

    java时间格式的简单整理

    这篇文章主要介绍了java时间格式的简单整理,文中通过示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考一下
    2019-06-06
  • Java与Scala创建List与Map的实现方式

    Java与Scala创建List与Map的实现方式

    这篇文章主要介绍了Java与Scala创建List与Map的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • springboot war包部署过程详解

    springboot war包部署过程详解

    这篇文章主要为大家介绍了springboot war包部署过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • SpringBoot根据注解动态执行类中的方法实现

    SpringBoot根据注解动态执行类中的方法实现

    本文主要介绍了SpringBoot根据注解动态执行类中的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Java commons io包实现多线程同步图片下载入门教程

    Java commons io包实现多线程同步图片下载入门教程

    这篇文章主要介绍了Java commons io包实现多线程同步图片下载入门,commons io: 是针对开发IO流功能的工具类库,其中包含了许多可调用的函数,感兴趣的朋友跟随小编一起看看吧
    2021-04-04
  • 一天时间用Java写了个飞机大战游戏,朋友直呼高手

    一天时间用Java写了个飞机大战游戏,朋友直呼高手

    前两天我发现论坛有两篇飞机大战的文章异常火爆,但都是python写的,竟然不是我大Java,说实话作为老java选手,我心里是有那么一些失落的,今天特地整理了这篇文章,需要的朋友可以参考下
    2021-05-05
  • 执行java请求时导致在脚本执行结束时JVM无法退出

    执行java请求时导致在脚本执行结束时JVM无法退出

    这篇文章主要介绍了执行java请求,导致在脚本执行结束时JVM无法退出问题,本文通过原因分析给出解决方案,需要的朋友可以参考下
    2020-02-02

最新评论