請幫我撰寫ㄧ個程式,
可以用來判斷使用者輸入的整數是否為質數
這個題目要怎麼用java去寫呢? ...
2007-01-03 21:37:39 · 2 個解答 · 發問者 大頭 1 in 電腦與網際網路 ➔ 程式設計
哈哈~謝謝各位大大~
我也不怎ㄇ喜歡說~
哈哈
2007-01-07 23:58:06 · update #1
import java.io.*;
public class prime
{
public static void main(String args[]) throws IOException
{
BufferedReader buf;
String str;
int num , i;
buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("請輸入一個整數:");
str = buf.readLine();
num = Integer.parseInt(str);
int[] ans = new int[num];
for ( i = 2; i < num; i++)
{
if (( num % i ) == 0 )
break;
}
if ( i == num)
System.out.print( "\n" + num + "是質數" + "\n");
else
System.out.print( "\n" + num + "不是質數" + "\n");
解釋:
假如輸入10(num)
FOR迴圈從2開始跑 for ( i = 2; i < num; i++)
假如10除2得到的餘數為0 if (( num % i ) == 0 )
那麼break跳出迴圈
假如i與num相等,就輸出10是質數
if ( i == num)
System.out.print( "\n" + num + "是質數" + "\n");
由於10跟2不相等,所以輸出else以下的
else
System.out.print( "\n" + num + "不是質數" + "\n");
輸出10不是質數
如果輸入的數是5
迴圈從2開始,5除2餘數不為零
那就繼續跑,跑到5為止,然後從 if (( num % i ) == 0 )
跟上面都一樣
2007-01-06 09:20:34 · answer #1 · answered by WING 2 · 0⤊ 0⤋
請參考我的做法。
import java.io.*;
public class PrimeTest {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("請輸入一個正整數:");
int x = Integer.parseInt(br.readLine());
boolean isPrime = true;
for (int i = 2; i <= x/2; i++) {
if (x % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) System.out.println(x + " 為質數");
else System.out.println(x + " 不為質數");
}
}
2007-01-04 05:41:55 · answer #2 · answered by ? 7 · 0⤊ 0⤋