Python 官方文档:入门教程 => 点击学习
目录java判断一个数是否是素数(质数)质数(prime number)又称素数,有无限个思路java 求1-100之间的质数质数定义:1、质数实例一2、质数实例二3、质数实例三4、
质数定义为在大于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();
}
}
}
}
}
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
如:2,3,5,7,11…
//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<i;j++) {
if(i%j == 0) {
flag=false;
break;
}
}
if(flag) {
System.out.println("质数:i= "+i);
}
}
}
}
//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);
}
}
}
}
}
//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);
}
}
}
}
//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);
}
}
}
}
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);
}
}
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);
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: java如何判断一个数是否是素数(质数)
本文链接: https://lsjlt.com/news/134599.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0