千家信息网

java怎么判断一个数是否是素数

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章给大家分享的是有关java怎么判断一个数是否是素数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。质数(prime number)又称素数,有无限个质数定义为在大于1
千家信息网最后更新 2025年01月20日java怎么判断一个数是否是素数

这篇文章给大家分享的是有关java怎么判断一个数是否是素数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

质数(prime number)又称素数,有无限个

质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。

import java.util.Scanner;public class TestWork { public static void main(String[] args) {  boolean isPrime = true;  Scanner sc = new Scanner(System.in);  System.out.println("请输入一个正整数");  int num = sc.nextInt();  if (num > 0) {   int k = (int) Math.sqrt(num);//k为num的正平方根,取整数   for (int i = 2; i <= k; i++) {    if (num % i == 0) {     isPrime = false;//不是素数     break;    }   }  }  if (isPrime) {   System.out.println(num + "是素数");  } else {   System.out.println(num + "不是素数");  } }}

输出1~1000之间的素数

思路

偶数肯定不是素数,所以递增的时候可以以奇数的形式递增,再在奇数中去掉非质数的数。

public class TestWork { public static void main(String[] args) {  boolean isPrime = true;  int PrimeCount=0;  for (int i = 3; i <= 1000; i+=2) {   int k = (int) Math.sqrt(i);//k为num的正平方根,取整数   isPrime = true;   for (int j = 2; j <= k; j++) {    if (i % j == 0) {     isPrime = false;//不是素数     break;    }   }   if (isPrime) {    PrimeCount++;    System.out.print(i+"\t");    if(PrimeCount%5==0){     System.out.println();    }   }  } }}

java 求1-100之间的质数

质数定义:

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

如:2,3,5,7,11…

1、质数实例一

//1-100之间的质数--------1public class PrimeNumber { public static void main(String[] args) {  for(int i=2;i<=100;i++) {   boolean flag=true;   for(int j=2;j//1-100之间的质数--------2public class PrimeNumber { public static void main(String[] args) {         for(int i=2;i<=100;i++) {               for(int j=2;j<=i;j++) {                if(i%j==0 && i!=j) {                    break;                     }                if(j==i) {                    System.out.println("质数:i= "+i);                     }                }        }    }}

3、质数实例三

//1-100之间的质数--------3public class PrimeNumber { public static void main(String[] args) {        for(int i=2;i<=100;i++) {               int j=2;            while(i%j != 0 ) {                j++;                 }            if(j==i) {                System.out.println("质数:i= "+i);                     }        }    }}

4、质数实例四

//1-100之间的质数--------4public class PrimeNumber { public static void main(String[] args) {        for(int i=2;i<=100;i++) {            int j=2;            for(;j<=i/2;j++) {                if(i%j==0) {                    break;                     }               }            if(j==i/2+1) {                System.out.println("质数:i= "+i);                               }         } } }

5、质数实例五

public class PrimeNumber { public static void main(String[] args) {  int count=0;  for(int i=2;i<=100;i++) {   int j=2;   for(;j<=(int)Math.sqrt(i);j++) {    if(i%j==0) {     break;         }      }   if(j==(int)Math.sqrt(i)+1) {    System.out.println("质数:i= "+i);    count++;        }   }  System.out.println("质数个数:count= "+count);    }}

6、质数实例六

public class PrimeNumber { public static void main(String[] args) {int count1 = 0, count2 = 0;  for (int i = 2; i <= 100; i++) {      for (int j = 2; j <= Math.sqrt(i); j++) {    if (i % j != 0) {     //不能被整除累计一次     count1++;    }   }   // 转为int的类型   int num2 = (int) Math.sqrt(i);   //如果累计次数num2 - 1个数相等则为素数   if (count1 == (num2 - 1) {    System.out.println("质数: " + i);    count2++;   }   //找到素数后count1再初始化为0   count1 = 0;  }  // 统计素数个数  System.out.println("质数个数:count2= "+count2); }}

感谢各位的阅读!关于"java怎么判断一个数是否是素数"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0