|
发表于 2020-5-8 21:51:00
|
显示全部楼层
本帖最后由 leon0149 于 2020-5-8 21:52 编辑
0.127s 104743
- #include <stdio.h>
- #include <time.h>
- #define MAX 10001
- int count = 1;
- void get_prime(int num, int *prime){
- *(prime + count) = num;
- count++;
- }
- int isPrime(int num,int *prime){
- int ret = 0;
- for (int i = 0; i < count ;++i) {
- if (num % *(prime + i) == 0){
- return ret;
- }
- }
- get_prime(num, prime);
- ret = 1;
- return ret;
- }
- int main(void)
- {
- clock_t start, finish;
- double duration;
- start = clock();
- int prime[MAX];
- prime[0] = 2;
- int i = 3;
- while (count != 10001){
- isPrime(i, prime);
- i += 2;
- }
- finish = clock();
- for (int j = 0; j < count; ++j) {
- printf("%d:%d\n", j + 1 , prime[j]);
- }
- duration = (double)(finish - start)/CLOCKS_PER_SEC;
- printf("%.3f", duration);
- return 0;
- }
复制代码 |
|