A. 用java求100以內的質數
為了在100以內找到所有的質數,可以編寫一個簡單的Java程序。質數是指除了1和它本身外,不能被其他自然數整除的數。這里提供一個Java代碼示例,用於輸出100以內的所有質數:
首先,我們需要導入Scanner類以接收用戶輸入。接著,定義一個主類名為test2。在main方法中,通過Scanner對象接收用戶輸入的上限值。
以下是一個實現上述功能的Java代碼:
java
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
System.out.println("請輸入要求除的質數上限:");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
for (int j = 2; j <= num; j++) {
if (isPrime(j)) {
System.out.print(j + " ");
}
}
}
}
public static boolean isPrime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
在這個程序中,isPrime方法用於判斷一個數是否為質數。通過遍歷2到用戶輸入的上限值之間的所有整數,並調用isPrime方法檢查每個數是否為質數,如果是,則列印出來。
運行這段代碼,用戶可以輸入一個上限值,程序將輸出100以內所有的質數。
例如,當用戶輸入100時,程序將輸出以下結果:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
這個程序簡單易懂,通過基本的循環和條件判斷實現了質數的查找功能。
值得注意的是,在實際應用中,可以優化isPrime方法的效率,例如通過只檢查到sqrt(n)來減少計算量。
B. java 1到100內的質數
int i,j;
for(i = 2; i <= 100; i++){//從2數到100,判斷之間的每一個數是否是質數
//下面的循環是質數判斷過程
for(j = 2; j <= i/2; j++){
if(i % j == 0)
break;//如果這個數能被一個數整除,那麼這個數不是質數。break的作用是跳出此次循環,進入下一次循環。
}
if(j > i/2){
System.out.println(i);//如果這個數不能被自身1/2的數整除,他就是質數,輸出這個數.System.out.println()這個語句就是輸出語句
}
}
System.out.println();//這句語句是多餘的,什麼也沒列印。
完整代碼及運行結果如圖。
拓展資料
質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。
這道題只要理解質數的計算方法就容易解答。