目錄
素數(shù)的定義
求解素數(shù)
素數(shù)判定法1:
遍歷從2到n-1的所有數(shù)字,判斷是否有可以被n整除的數(shù),如果沒有,則為素數(shù)。
優(yōu)化法2:
判定的范圍改為[2 -,n/2]。當(dāng) i>n/2 時,則判定為素數(shù)。
優(yōu)化法3:
在Java中判定素數(shù)的范圍也可以到sqrt(n),(對n開平方)。對應(yīng)的函數(shù)為:Math.sqrt(n)
素數(shù)的定義
素數(shù)又稱質(zhì)數(shù),一個大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做素數(shù),否則稱為合數(shù)(規(guī)定1既不是素數(shù)也不是合數(shù))。
求解素數(shù)
素數(shù)判定法1:
遍歷從2到n-1的所有數(shù)字,判斷是否有可以被n整除的數(shù),如果沒有,則為素數(shù)。
import java.util.Scanner;
public class HomeWork {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入要判斷的數(shù)字:");
int n = sc.nextInt();
int i = 0;
for ( i = 2; i <= n-1 ; i++) {
if(n % i == 0){
System.out.println(n+"不是素數(shù)");
break;
}
}
if(i == n){
System.out.println(n+"是素數(shù)");
}
}
}
法1中的循環(huán)條件比較浪費時間,下面進行對代碼的優(yōu)化。文章來源:http://www.zghlxwxcb.cn/news/detail-604976.html
優(yōu)化法2:
判定的范圍改為[2 -,n/2]。當(dāng) i>n/2 時,則判定為素數(shù)。
import java.util.Scanner;
public class HomeWork {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入要判斷的數(shù)字:");
int n = sc.nextInt();
int i = 0;
for ( i = 2; i <= n/2 ; i++) {
if(n % i == 0){
System.out.println(n+"不是素數(shù)");
break;
}
}
if(i > n/2){
System.out.println(n+"是素數(shù)");
}
}
}
優(yōu)化法3:
在Java中判定素數(shù)的范圍也可以到sqrt(n),(對n開平方)。對應(yīng)的函數(shù)為: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("請輸入要判斷的數(shù)字:");
int n = sc.nextInt();
int i = 2;
for(;i <= Math.sqrt(100);i++){
if(n % i == 0){
System.out.println(n+"不是素數(shù)");
break;
}
}
if(i >Math.sqrt(n)){
System.out.println(n+"是素數(shù)");
}
}
}
注意:判斷是素數(shù)的條件是在for循環(huán)的外面,不能把它放到循環(huán)里。文章來源地址http://www.zghlxwxcb.cn/news/detail-604976.html
到了這里,關(guān)于判斷一個數(shù)是否是素數(shù)(Java版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!