3
int main()
{
int i,j;
for (i=1; i<=25; i++)
{
for (j=2; j<= i/2; j++)
if (!(i%j)) break;
if (j>i/2) cout << i << "\n";
}
return 0;
}
該程序(不是我寫的)輸出從1到25的素數,包括1,即使1不是素數。是否(!(i%j))表示不是i的模數,j = 0?
我有這條線的麻煩:if (!(i%j)) break;
這是不是說「不是我的模量和j = 0
素數的典型定義是,如果n只有因子1和n,則n是質數。你使用的是什麼定義的素數?1不是素數? – 2009-10-29 00:02:09
1確實不是素數:http://mathworld.wolfram.com/PrimeNumber.html – harto 2009-10-29 00:04:57
「1以前被一些數學家認爲是素數,使用的定義是一個素數只能被一個和它自己整除 然而,這個複雜因此現代定義不包括單位。最後一位公開給1號素數標記的專業數學家是1899年的亨利·勒貝格。 – 2009-10-29 05:49:40