Java判断1000以内的素数以及判断一个输入的数是不是素数的方法

素数:除了能被一和本身整除不能被其它正数整除

 

/*所以判断一个数是不是素数只需要将比它小的数进行一个求余的计算,

 

如果结果为0--->说明它是被整除-->不是素数;

判断并输出1000以内的素数:

package JavaBasis;

public class JudgePrime {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int counts = 0;
        
        //----------------------------
        for1:for(int a = 2;a<=1000;a++) {//最小的素数是2,从2开始判断
            boolean aa = true;
            for2:for(int b = 2;b <=Math.sqrt(a) ;b++) {//使用Math.sqrt()方法可以减少不必要的判断次数来提升效率
                if(a%b == 0){
                    aa =  false;
                    break for2;//break中断最近循环,这里指不指明中断for2循环都可
                }
            }
        if(aa) {
            System.out.print(a+" ");
            counts++;
            if(counts%8==0) { //每输出8个素数后换行
                System.out.println();
            }
        }
        }
    }

 

判断输入的数是不是素数的方法:

package JavaBasis;

import java.util.Scanner;

public class JudgePrime {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
       
        System.out.print("请输入需要判断的数:");
        
        Scanner scanner = new Scanner(System.in);
        
        int a = scanner.nextInt();


        if(judge_prime(a)) {


            System.out.print(a+"是素数");
            
        }else


            System.out.print(a+"不是素数");


    }
    public static boolean judge_prime(int a){ 
        
        
        boolean ean = true; 
            
        for(int i = 2 ; i <= Math.sqrt(a) ; i++) {
            if(a%i == 0){ 
                ean = false; 
                break; 
            } 
        }
        return ean; 
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值