方法一:质数只能被1和它本身整除 import java.util.Scanner;public class Test { public static void main(String[] args) { int
方法一:质数只能被1和它本身整除
import java.util.Scanner;public class Test { public static void main(String[] args) { int n = new Scanner(System.in).nextInt(); int i = 2; for (;i < n;i++){ if (n % i == 0){ System.out.println(n + "不是素数"); break; } } //将2~(n-1)之间所有整数都除一遍,以确保其中没有可以整除的数 if (i == n){ System.out.println(n + "是素数"); } }}
方法二:一个数总能写成“n = a * b”的形式,a和b之间一定有一个数不大于n/2
import java.util.Scanner;public class Test { public static void main(String[] args) { int n = new Scanner(System.in).nextInt(); int i = 2; for (;i < n/2;i++){ if (n % i == 0){ System.out.println(n + "不是素数"); break; } } //将2~(n/2)之间所有整数都除一遍,以确保其中没有可以整除的数 //每一个整数都可以看做有两个数相乘得到,且每一个整数不会超过原整数的一半,除了原整数本身 if (i > n/2){ System.out.println(n + "是素数"); } }}
方法三:每一个整数都可以看做由两个数相乘得到,且每个乘数不大于原整数的平方根
import java.util.Scanner;public class Test { public static void main(String[] args) { int n = new Scanner(System.in).nextInt(); int i = 2; for (;i <= Math.sqrt(n);i++){ if (n % i == 0){ System.out.println(n + "不是素数"); break; } } if (i > Math.sqrt(n)){ System.out.println(n + "是素数"); } }}
--结束END--
本文标题: 使用java判断质数的三种方法
本文链接: https://lsjlt.com/news/387243.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0