1. 程式人生 > >求1-1000的所有質數

求1-1000的所有質數

質數也稱素數,即因子數只有1和其自身,不要和奇數混淆(奇數是不能被2整除的數)!

void PrimeNumber()
{
    for (int i = 1; i <= 1000; ++i)
    {
	    int count = 0, num = 1;//count記錄因子個數,num為因子數
	    while (num <= (i / 2))//比如6,它的因子數為1,2,3,6,只需要計算一半的因子數即可(成對出現)
	    {
	    	if (i%num == 0)
	    	{
	    		count++;
	      	}
		    if (count> 1)//若因子個數超過1個,則說明該數不為質數
		    	break;
	    	num++;//因子數從1一直增加到i/2,若中間count值>1,則結束num的增加
	    }
	    if (count <= 1)
	    	cout << i << " ";	
    }
}