我有一個素數的程序下面的代碼:意外的輸出
class Test2 {
public static void main(String[] args) {
System.out.println("Prime numbers inbetween 2-100: ");
boolean isComposite = false;
for (int i = 2; i <= 100; i++) {
if ((i % 2) == 0) {
continue;
}
for (int k = 3; k < i; k++) {
if ((i % k) == 0) {
isComposite = true;
break;
}
}
if (!isComposite) {
System.out.println(i);
isComposite = false;
}
}//End for
}//End main()
}//End class
我的問題是,當我運行代碼,我得到以下輸出:
Prime numbers inbetween 2-100:
3
5
7
這種簡單的代碼,但我無法弄清楚它有什麼問題!任何幫助,將不勝感激。
此外,什麼是在Java中發現素數的最佳算法?
確保包含2作爲素數。 – pushkin
你也可以直接打印'2'作爲原始數字,然後從'i = 3'開始並將'i'增加2,這樣你就可以跳過每一個偶數 – SomeJavaGuy
@Kevin Esche好主意!從來沒有想過會這樣做。 – RobertR