目录
素数的定义
求解素数
素数判定法1:
遍历从2到n-1的所有数字,判断是否有可以被n整除的数,如果没有,则为素数。
优化法2:
判定的范围改为[2 -,n/2]。当 i>n/2 时,则判定为素数。
优化法3:
在Java中判定素数的范围也可以到sqrt(n),(对n开平方)。对应的函数为:Math.sqrt(n)
素数的定义
素数又称质数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数,否则称为合数(规定1既不是素数也不是合数)。
求解素数
素数判定法1:
遍历从2到n-1的所有数字,判断是否有可以被n整除的数,如果没有,则为素数。
import java.util.Scanner;
public class HomeWork {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要判断的数字:");
int n = sc.nextInt();
int i = 0;
for ( i = 2; i <= n-1 ; i++) {
if(n % i == 0){
System.out.println(n+"不是素数");
break;
}
}
if(i == n){
System.out.println(n+"是素数");
}
}
}
法1中的循环条件比较浪费时间,下面进行对代码的优化。文章来源:https://www.toymoban.com/news/detail-604976.html
优化法2:
判定的范围改为[2 -,n/2]。当 i>n/2 时,则判定为素数。
import java.util.Scanner;
public class HomeWork {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要判断的数字:");
int n = sc.nextInt();
int i = 0;
for ( i = 2; i <= n/2 ; i++) {
if(n % i == 0){
System.out.println(n+"不是素数");
break;
}
}
if(i > n/2){
System.out.println(n+"是素数");
}
}
}
优化法3:
在Java中判定素数的范围也可以到sqrt(n),(对n开平方)。对应的函数为:Math.sqrt(n)
import java.util.Scanner;
public class HomeWork {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要判断的数字:");
int n = sc.nextInt();
int i = 2;
for(;i <= Math.sqrt(100);i++){
if(n % i == 0){
System.out.println(n+"不是素数");
break;
}
}
if(i >Math.sqrt(n)){
System.out.println(n+"是素数");
}
}
}
注意:判断是素数的条件是在for循环的外面,不能把它放到循环里。文章来源地址https://www.toymoban.com/news/detail-604976.html
到了这里,关于判断一个数是否是素数(Java版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!