判别素数

写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息

素数是指定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 如何判别一个数是否是素数呢? 如果数n有除1和其本身外还有其他因数,那n就不是素数。判别素数其实就是从2开始循环到n-1,看是否其还有其他因数,但是其实不用循环到这个数-1,只需循环到√n即可.

代码如下:

 1 #include <stdio.h>
 2 #include <stdbool.h>  //bool类型的头文件 
 3 
 4 bool judge(int n)
 5 {
 6     int i;
 7     if(n<=2) return false;  
 8     for(i=2;i*i<n;i++)
 9     {
10         if(n%i!=0) return false;  //不是素数 
11     }
12     return true;
13 } 
14 
15 int main()
16 {
17     int number;
18     scanf("%d",&number);
19     if(judge(number)) printf("%d是素数\n",number);
20     else printf("%d不是素数\n",number);
21     
22     return 0;
23 }

 

posted @ 2017-12-30 14:39  woz333333  阅读(192)  评论(0)    收藏  举报