JAVA 利用多方法查找质数(素数)

方法一: 找出1至1000以内的质数

质数:只能被1和它本身整除的数,比如10以内的质数: 2 3 5 7,任何的偶数(除2以外)都是非质数以及奇数1不属于质数。

例如:
5/2=2 余1
5/3=1 余2
5/4=1 余1
所以5是质数。

例如:
6/2=3 余0
6/3=2 余0
6/4=1 余2
6/5=1 余1
余数为0,代表能被整除
所以6不是质数。

实现代码

 public class Test3 {
    public static void main(String[] args) {
        //由于偶数中只有2是质数,此处直接将2的值进行输出,如下代码中查找质数时,只需考虑奇数即可
        System.out.print(2+" ");
        //定义标签
        OUT:
        //1不是质数,2是质数但是已经打印输出,因此循环中i的值从3开始即可,i+=2是因为在循环中我们不再考虑偶数
        for (int i = 3; i <= 1000; i+=2) {
            //请补充程序判断i是否是质数并打印i,如果是质数按照 System.out.print(i+" "); 格式进行打印
            for (int j = 2; j < i; j++) {
                if(i % j == 0) {
                    //如果i对j求余数等于0说明i不是质数
                    continue OUT;
                }
            }
            //说明i是质数
            System.out.print(i+" ");
        }
    }
}

实现结果
在这里插入图片描述

方法二:输入一个数判断这个数是不是质数

实现代码

import java.util.Scanner;
public class Test4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int input = sc.nextInt();
        boolean flag = true;
        for(int i = 2;i<input;i++){
            if(input%i==0){
                flag = false;
                System.out.println(input+"这个数不为质数");
                break;
            }
        }
        if(flag){
            System.out.println(input+"这个数为质数");
        }
    }
}

实现结果
在这里插入图片描述

方法三:判断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 + "这是质数");
            }

        }

    }

}

实现结果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值