English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請幫我撰寫ㄧ個程式,
可以用來判斷使用者輸入的整數是否為質數
這個題目要怎麼用java去寫呢? ...

2007-01-03 21:37:39 · 2 個解答 · 發問者 大頭 1 in 電腦與網際網路 程式設計

哈哈~謝謝各位大大~
我也不怎ㄇ喜歡說~
哈哈

2007-01-07 23:58:06 · update #1

2 個解答

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

fedest.com, questions and answers