判断素数的三种方法详解

判断素数的方法是许多初学编程的小白遇到的习题,同时也是百度一次的面试题,本文循序渐进,从基本实现到高效实现。

素数的概念

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。

方法一

假设一个数n,用2到n-1去除n,如果n被整除,则n不是素数

核心代码如下
  public static void main(String[] args) {
        int i = 2;
        int n = 18;
        for(i = 2; i<n; i++){
            if(n % i == 0){
                System.out.println("不是素数");
                break;
            }
        }
        if(i == n){
            System.out.println("是素数");
        }
    }

方法2

假设一个自然数n,用2到n/2去除n,如果n被整除,则n不是素数

核心代码如下
   public static void main(String[] args) {
        int i = 2;
        int n = 47;
        for(i = 2; i<=n/2; i++){
            if(n % i == 0){
                System.out.println("不是素数");
                break;
            }
        }
        if(i > n/2){
            System.out.println("是素数");
        }
    }

方法3

假设一个自然数n,用2到根号n去除n如果n被整除,则n不是素数

    public static void main(String[] args) {
        int i = 2;
        int n = 48;
        for(i = 2; i<=Math.sqrt(n); i++){
            if(n % i ==0){
                System.out.println("不是素数");
                break;
            }
        }
        if(i > Math.sqrt(n)){
            System.out.println("是素数");
        }

    }

总结

本文是用Java实现的,初学编程的小伙伴如果是用C语言,也是一样的,快去动手写起来吧!

评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值