2010年12月4日 星期六

[C] check input is prime number or not


#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;
}




1 則留言:

  1. 判斷的部份, 額外判斷 num % 2, 然後接下來的迴圈改成 for (i = 3; i < sqrt(num); i += 2), 在數字大的時候會快一些.

    回覆刪除