三个函数,find_prime() 是利用素数表的方法,寻找素数的,find_prime_stupid()是利用另一种传统方法寻找素数的,test_func()用于测试两个函数的速度
测试数据分别是 1000,5000,10000,50000,100000,500000,1000000,2000000,5000000 以内的素数。
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <math.h>
#include <time.h>
#define SIZE 10000000
void find_prime(int n);
void find_prime_stupid(int n);
int test_func(void);
// 建立一个素数表
int prime[SIZE] = {0};
int prime_index = 0; // 素数表索引
int main(int argc,char **argv)
{
test_func();
return 0;
}
// 速度测试函数
int test_func(void)
{
time_t start_time,end_time;
int test_data[] = {1000,5000,10000,50000,100000,500000,1000000,2000000,5000000,0};
int i_testdata = 0;
printf("\n\nstart testing...\n\n");
// 测试 find_prime() 函数
printf("find_prime():\n");
while(test_data[i_testdata])
{
printf(