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
2、质数实例二
//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再初始化为0count1 = 0; }// 统计素数个数System.out.println("质数个数:count2= "+count2); }}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树