您的位置:

java判断素数,java判断素数个数

本文目录一览:

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求素数代码

求1-N以内的所有素数,实现思路如下:

1、 得到1到n之间的素数,存到一个ArrayList集合。

2、判断一个数是不是素数:只能被1和本身整除

说明:从2开始除,不需要到n,也就是循环条件是 n 就可以,这之间只要被整除了,那么他就不是素数了。

3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。 

执行结果图:

扩展资料:

实现功能的编程事项:

1、模块化思想。

先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。

2、注意注释。

就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。

3、注意参数命名。

从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。

用java写一个程序,判断输出1~100之内的素数?

素数是指只能被1和自身整除的数,所以先定义一个函数判断一个数是否是素数,接着从1到100for循环判断。

package baidu;

public class Test {

public static boolean fun(int n){

if(n2) return false;

for(int i=2;in-1;i++)

if(n%i==0) return false;

return true;

}

    public static void main(String[] args) {

      

     int k=0;

        for (int n = 1; n = 100; n++) { // 1~100的所有数

            if(fun(n)){

             System.out.print(n+" ");

             k++;

                if (k % 5 == 0) // 每输出5个则换行

                    System.out.println();

            }

        }

    }

}

/* 运行结果:

2 3 5 7 11 

13 17 19 23 29 

31 37 41 43 47 

53 59 61 67 71 

73 79 83 89 97  

*/