「用JAVA判断素数」java判断素数的算法

博主:adminadmin 2022-12-03 07:42:05 72

今天给各位分享用JAVA判断素数的知识,其中也会对java判断素数的算法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用java编写一个程序段,输入一个自然数,判断该数是否为素数.

使用java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:

Scanner sr = new Scanner(System.in);

    System.out.print("请输入a的值:");

    int a = sr.nextInt();

    boolean is = true;

    if (a  1)

    {

      System.out.println(a + "不是质数,因为他小于一");

    }

    else

    {

      ListInteger list = new ArrayListInteger();

      for (int i = 2; i  a; i++)

      {

        if (a % i != 1  a % i != a)

        {

          if (a % i == 0){

            is=false;

            list.add(i);

          }

        }

      }

      if(is){

        System.out.println("a是质数");

      }else{

        String yz="";

        for (int i = 0; i  list.size(); i++)

        {

          if (yz=="")

          {

            yz=yz+list.get(i);

          }else{

            yz=yz+","+list.get(i);

          }

        }

        System.out.println("a不是质数,因为他含有因子"+yz);

      }

    }

在java中如何判断一个数是不是素数

import java.util.Scanner;

public class Demo {

    public static void main(String[] args) {

        System.out.println("请输入一个正整数:");

        Scanner scanner = new Scanner(System.in);

        int number = scanner.nextInt();

        System.out.println("是否是素数:" + isPrime(number));

        scanner.close();

    }

    static boolean isPrime(int number) {

        if (number = 1) {

            return false;

        }

        for (int i = 2; i = Math.sqrt(number); i++) {

            if (number % i == 0) {

                return false;

            }

        }

        return true;

    }

}

java怎么判断素数

1、目前使用较有效的方法是试除法。用试除法判断一个自然数a是不是素数时,用各个素数从小到大依次去除a,如果到某一个素数正好整除,这个a就可以断定不是素数;如果不能整除,当不完全商又小于这个素数时,就不必再继续试除,可以断定a必然是素数。

2、素数又称质数。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。

3、素数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一。基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等。目前为止,人们未找到一个公式可求出所有素数,所以还没有固定的判断公式。

4、一般记住100以内的素数就可以了。有2、3、5、7、11、13、19、17、23、29、37、31、41、47、43、53、59、61、71、67、73、83、89、79、97,一共25个。

java素数的判断

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class T2 {

public static void main(String[] args) {

new T2().judge1();

new T2().judge2();

}

public void judge1(){

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

try {

System.out.println("请输入一个数字");

String str = br.readLine();

int a = Integer.parseInt(str);

if(isPrimes(a)){

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

}else{

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

}

}catch(NumberFormatException e){

System.out.println("只能是数字");

judge1();

}catch (IOException e) {

System.out.println("读取出错了");

}

}

private void judge2() {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

try {

System.out.println("请输入两个数用,号隔开(一个范围)");

String str = br.readLine();

String [] s = str.split(",");

int a = Integer.parseInt(s[0]);

int b = Integer.parseInt(s[1]);

isPrimes2(a, b);

}catch(NumberFormatException e){

System.out.println("格式不正确");

judge2();

}catch (IOException e) {

System.out.println("读取出错了");

}

}

private void isPrimes2(int a, int b) {

System.out.println(a+"-"+b+"范围的素数有:");

for(int i=a;i=b;i++){

if(isPrimes(i)){

System.out.print(i+",");

}

}

}

public static boolean isPrimes(int n) {

for (int i = 2; i = Math.sqrt(n); i++) {

if (n % i == 0) {

return false;

}

}

return true;

}

}

用JAVA判断素数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java判断素数的算法、用JAVA判断素数的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-03,除非注明,否则均为首码项目网原创文章,转载请注明出处。