java如何判断一个数是否是素数(质数)

目录

  • java判断一个数是否是素数(质数)
    • 质数(prime number)又称素数,有无限个
    • 思路
  • java 求1-100之间的质数
    • 质数定义:
    • 1、质数实例一
    • 2、质数实例二
    • 3、质数实例三
    • 4、质数实例四
    • 5、质数实例五
    • 6、质数实例六

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如何判断一个数是否是素数(质数)】
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

    推荐阅读