我的大腦顯然並沒有在所有氣瓶上開火,但我正在開發一個程序來發現一個數字是否是素數。下面的循環工作,但我不明白爲什麼。如果質數(test [k])是5並且i = 3;如果3 * 3大於5,爲什麼循環會繼續?簡單循環查詢
int [] test = new int[] {15,14,2,3,19,70,7,9,11,12,13,14,21,23,0,107};
int test2 = 7;
for(int k= 0; k <test.length; k++)
{
boolean IsPrime= true;
if(test[k]==2)
{
System.out.println(test[k] + " is a prime number");
IsPrime = true;
continue;
}
else if (test[k] % 2 == 0)
{
IsPrime = false;
System.out.println(test[k] + " is NOT a prime number");
continue;
}
else
{
for(int i = 3; i * i <= test[k]; i+= 2)
{
System.out.println(i);
if(test[k] % i == 0)
{
IsPrime =false;
}
}
if(IsPrime == true)
System.out.println(test[k] + " is a prime number");
else
{
System.out.println(test[k] + " is NOT a prime number");
}
}
}
}
你有更多的代碼可以告訴我們嗎? – funerr 2013-02-15 14:32:14
添加完整的代碼 – Calgar99 2013-02-15 14:34:23
是的。我試圖通過從循環中刪除偶數並檢查奇數直到測試號碼的平方根 – Calgar99 2013-02-15 14:45:37