「java素数筛选」java筛选质数

博主:adminadmin 2023-03-20 07:30:11 348

本篇文章给大家谈谈java素数筛选,以及java筛选质数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

编写java程序找出2-100之间的所有素数 求大神

素数又称质数,有无限个。素数定义为在大于1的整数中,除了1和它本身以外不再有其他因数的数称为素数。

java程序找出2-100之间的所有素数,代码如下:

public void findPrimeNumber(){

//存放素数集合

ListInteger lists=new ArrayListInteger();

//遍历2-100

for(int x=2;x100;x++){

//标志是否为素数,默认是true

boolean flag=true;

//循环x除以(x/2)的数,能整除则不是是素数(不包含2)

for(int y=2;yx/2;y++){

if(x%y==0){

//能整除,则把标志设置为false,不是素数

flag=false;

break;

}

}

if(flag){

//flag还是true,则是素数

lists.add(x);

}

}

System.out.println("2-100的素数集合:"+lists);

}

结果:

2-100的素数集合:[2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

java筛法求N以内素数个数

prime[k]数组越界了。

没必要搞这么复杂吧。

public class Test{

public static void main(String [] args){

System.out.println("Welcome new world:++"+add(13));

}

public static int add(int n){

int cnt=0;

for(int i=2;i=n;i++){

boolean flag = false;

for(int j=2;ji-1;j++){

if(i%j==0){

flag = true;

}

}

if(!flag){

cnt ++;

}

}

return cnt;

}

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写一个程序,判断输出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  

*/

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