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

网友投稿 452 2022-09-30


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 求1-100之间的质数

质数定义:

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

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

1、质数实例一

//1-100之间的质数--------1

public class PrimeNumber {

public static void main(String[] args) {

for(int i=2;i<=100;i++) {

boolean flag=true;

for(int j=2;j

if(i%j == 0) {

flag=false;

break;

}

}

if(flag) {

System.out.println("质数:i= "+i);

}

}

}

}

2、质数实例二

//1-100之间的质数--------2

public 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之间的质数--------3

public 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之间的质数--------4

public 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.ohttp://ut.println("质数: " + i);

count2++;

}

//找到素数后count1再初始化为0

count1 = 0;

}

// 统计素数个数

System.out.println("质数个数:count2= "+count2);

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:网站防黑客攻击准则(黑客原理与防范)
下一篇:网站安全渗透测试公司的五年经验总结
相关文章

 发表评论

暂时没有评论,来抢沙发吧~