1. #include<stdio.h>  
  2.  
  3. int main(void){  
  4.     long num;//要检查的数  
  5.     long div;//除数  
  6.     bool isPrime;//标志位,判断是否为素数  
  7.  
  8.     while(scanf("%d",&num) == 1){  
  9.         isPrime = true;//先将标志位设置为true  
  10.         for(div=2;div*div<=num;div++){
    //测试的数只要到平方根即可  
  11.             if(num % div == 0){  
  12.                 if(div * div != num){  
  13.                     printf("%d is div by %d and %d\n",num,div,num/div);  
  14.                 }  
  15.                 else{
    //如果是完全平方数只显示一次  
  16.                     printf("%d is div by %d\n",num,div);  
  17.                 }  
  18.                 isPrime = false;//如果进入了if块,就说明可以被整除,不是素数  
  19.             }  
  20.         }  
  21.         if(isPrime){  
  22.             printf("%d is a prime!\n",num);  
  23.         }  
  24.         printf("enter again\n");  
  25.     }  
  26.     printf("bye\n");  
  27.  
  28.     return 0;  
  29. }