import java.util.Scanner;public class IsPrimeNumber { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入一个整数"); Scanner s = new Scanner(System.in); int number = s.nextInt(); int k=0; int i=0; k = (int)Math.sqrt((double)number); for(i=2;i<=k;i++){ if(number%i == 0) break; } if(i>k){ System.out.println(number+" is a prime number!"); }else{ System.out.println(number + " isn't a prime number!"); } }} 你看这个行吗?
用個計算量少很多的辦法 篩選法 如果你求k以內的質數,則設一個長度為k+1的數組,從2開始 for (int i = 2 ; i <= k ; ++i) { for (int j = 2 ; j <= k / i; ++j ) { isPrime[i * j] = false; } } for (int i = 2 ; i <= k ; ++i) if (isPrime[i]) ...
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入一个整数");
Scanner s = new Scanner(System.in);
int number = s.nextInt();
int k=0;
int i=0;
k = (int)Math.sqrt((double)number);
for(i=2;i<=k;i++){
if(number%i == 0) break;
}
if(i>k){
System.out.println(number+" is a prime number!");
}else{
System.out.println(number + " isn't a prime number!");
}
}}
你看这个行吗?
篩選法
如果你求k以內的質數,則設一個長度為k+1的數組,從2開始
for (int i = 2 ; i <= k ; ++i) {
for (int j = 2 ; j <= k / i; ++j ) {
isPrime[i * j] = false;
}
}
for (int i = 2 ; i <= k ; ++i)
if (isPrime[i]) ...