本帖最后由 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;
}
|