|
- #include <stdio.h>
- #include <math.h>
- int isPrime(int);
- int main(void)
- {
- int i,counter;
- counter = 0;
- for(i=2; i<=12345; ++i)
- if(isPrime(i))
- ++counter;
- printf("%d\n", counter);
-
- return 0;
- }
- int isPrime(int x)
- {
- int upper = (int)sqrt(x);
- int i;
- if(x < 2)
- return 0;
- else if(x == 2)
- return 1;
- else{
- for(i = 2; i <= upper; ++i)
- if(x % i == 0)
- return 0;
- }
-
- return 1;
- }
复制代码 楼主参考一下吧,一个可行的试除法的实现 |
|