sieve.c

来自「arm单片机的ucos2移植」· C语言 代码 · 共 56 行

C
56
字号
#include "uhal.h"
#include <time.h>
#define MAX 50000
#define ITER 100

char *test_name = "Sieve Test" ;
char * test_ver = "\nProgram Version 1.0\n";

int	 t1, t2;
long	 i;

int init_test(void)
{
	uHALr_printf ("Start, number of iterations: %i\n", ITER);

	return 0;
}

int test()
{

    long j, k;
    char p[MAX];

    t1 = clock();
    for (k = 0; k < ITER; k++) {

	for (i = 0; i < MAX; i++)
	    p[i] = 1;
	i = 2;
	while (i < MAX / 2)
	  {
	    for (j = 2 * i; j < MAX; j = j + i)
		p[j] = 0;
	    while (p[++i] == 0)
		;
	}
	i = MAX;
	while (p[--i] == 0)
	    ;

    }					/* endfor */
    t2 = clock();

    return 0;
}

int test_result(void)
{
	uHALr_printf("\nNumber of entries was: %i", MAX);
	uHALr_printf("\nHighest prime was: %d", i);
	uHALr_printf("\nTime: %d milliseconds\n", t2 - t1) ;
  
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?