每天一段java代码---------(第十天)求质数

质数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,也称为素数.1既不是质数,也不是合数

package test;

import java.util.Scanner;
//质数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,
//也称为素数.1既不是质数,也不是合数
public class test5 {
    public static void main(String[] args) {
        System.out.println("请输入要判断的自然数: ");
        int n = new Scanner(System.in).nextInt();
        //调用get方法,判断n是否为质数
        gettest5(n);
    }

    private static void gettest5(int n) {
        if(n<2){//此范围内的数均不为质数
            System.out.println(n+"不是质数");
            return;//结束程序
        }
        if(n == 2){
            System.out.println("2是质数");
            return;
        }
        //在2到1+n开方范围内(数学理论),找到能把n整除的值(这个值也称作因子)
        //如果找到可以把n整除的第三个数,那n就不是质数,反之,n是质数
        double max = 1+Math.sqrt(n);//max保存的是查找因子的范围
        //依次遍历范围内所有数,验证是否存在n的因子
        for(int i =2; i<max ;i++){
            //判断n能不能被i整除,如果有,说明不是质数
            if(n%i == 0){
                System.out.println(n+"不是质数");
                return;
            }
        }
        //如果判断了范围内的所有值,没有能整除的,说明n是质数.
        System.out.println(n+"是质数");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值