#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, num ;
while(num!=0) //num輸入0就結束
{
int k=0;
printf("number : ");
scanf("%d",&num);
for(i=1 ; i<=num ; i++)
{
if(num % i == 0)
k++;
}
if(k==2)
printf("number %d is 質數\n",num);
else
printf("number %d is not 質數\n",num);
}
system("PAUSE");
return 0;
}
判斷的部份, 額外判斷 num % 2, 然後接下來的迴圈改成 for (i = 3; i < sqrt(num); i += 2), 在數字大的時候會快一些.
回覆刪除