判断素数

初等数论,一个整数不能整除他的平方数之内的整数就是素数。

程序如下:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #include <math.h>
 5 int main()
 6 {
 7     int prime(int);
 8     int prime2(int);
 9     int n;
10     printf("input a number: ");
11     scanf("%d",&n);
12     if(prime2(n))
13         printf("%d is a prime.\n",n);
14     else printf("%d is not a prime.\n",n);
15         system("pause");
16     return 0;
17 }
18 int prime(int n){//普通法
19     int flag=1,i;
20     for(i=2;i<n/2 &&flag ==1;i++){
21         if(n%i==0)
22             flag=0;
23     }
24     return (flag);
25 }
26 int prime2(int n){//初等数论法
27     int flag=1,i;
28     for(i=2;i<sqrt(n) &&flag ==1;i++){
29         if(n%i==0)
30             flag=0;
31     }
32     return (flag);
33 }

 

posted @ 2016-09-30 20:20  米琪儿  阅读(205)  评论(0编辑  收藏  举报