「判定素数java」判定素数为什么可以直接用√n

博主:adminadmin 2023-03-18 07:22:08 429

本篇文章给大家谈谈判定素数java,以及判定素数为什么可以直接用√n对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用 java 怎么判断一个数是否为质数?

质数: 

public static boolean isPrime(int N){if( N 2 ) return false;

for( int i = 2 ; i*i = N; i++){if( N % i == 0) return false;return true;}

JAVA 编程方法:

public static void main(String[] args) {// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);for(int i=0;i100;i++){

System.out.print("请输入数字:");int num1 = input.nextInt();if(num1==2||num1==3){

System.out.println(num1+"是质数");}else if(num1%2!=0(num1+1)%2==0){

System.out.println(num1+"是质数");}else{System.out.println(num1+"不是质数");

java 判断是不是素数

判断number是否是素数有这么几种方法:

(1)用2至number-1之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。

(2)用2至number/2之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。

(3)用2至number的平方根之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。

这3种的方法的效率是逐渐提高的。下面列出了第3种方法的实现:

import java.util.Scanner;

public class Test2 {

public static void main(String[] args) {

int number; // 输入的数字

Scanner input = new Scanner(System.in);

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

number = input.nextInt(); // 输入数字

if(isPrimeNumber(number)){

System.out.println(number + "是一个素数");

}

else{

System.out.println(number + "是一个非素数");

}

}

public static boolean isPrimeNumber(int num){

if(num 2){

System.out.println("数据错误");

return false;

}

int k = (int)Math.sqrt(num); //num的平方根

int i;

for(i=2; i=k; i++){ //依次用2..k之间的数去整除num,如果没有一个数能被整除,说明num是素数

if(num % i == 0){

break;

}

}

if(i k){

return true;

}

return false;

}

}

如果对你的程序进行修改,也可这样:

public static void main(String[] args) {

int number;// 输入的数字

int j = 2;

Scanner input = new Scanner(System.in);

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

number = input.nextInt();// 输入数字

for(j=2;jnumber;j++){

if(number%j == 0) {

System.out.println("这不素数");

break;

}

}

if(j=number)

System.out.println("这是素数");

}

用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 输入一个数判断其是否是素数

public class panduansushu {

public static void main(String args[]) {

int x, y, j;

Scanner i = new Scanner(System.in);

System.out.print("请输入一个数:");

y = i.nextInt();

j = (int) y / 2;

for (x = 2; x = j; x++) {

if (y % x == 0) {

System.out.println("此数不为素数");

break;

}

}

if (x j) {

System.out.println("此数为素数");

}

}

}

关于判定素数java和判定素数为什么可以直接用√n的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。