- #include<stdio.h>
- int main(void){
- long num;//要检查的数
- long div;//除数
- bool isPrime;//标志位,判断是否为素数
- while(scanf("%d",&num) == 1){
- isPrime = true;//先将标志位设置为true
- for(div=2;div*div<=num;div++){ //测试的数只要到平方根即可
- if(num % div == 0){
- if(div * div != num){
- printf("%d is div by %d and %d\n",num,div,num/div);
- }
- else{ //如果是完全平方数只显示一次
- printf("%d is div by %d\n",num,div);
- }
- isPrime = false;//如果进入了if块,就说明可以被整除,不是素数
- }
- }
- if(isPrime){
- printf("%d is a prime!\n",num);
- }
- printf("enter again\n");
- }
- printf("bye\n");
- return 0;
- }