⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sieve.c

📁 keilc pic的版本 才搞到的 希望对大家有帮助
💻 C
字号:
/*  sieve.c */

int printf (char *, ...);

/* Eratosthenes Sieve Prime Number Program in C from Byte Jan 1983. */

#define TRUE 1
#define FALSE 0
#define SIZE 8190

char flags[SIZE+1];

void sieve()  {
    register int i,k;
    int prime,count,iter;

    printf("10 iterations\n");
    for (iter = 1; iter <= 10; iter++)		/* do program 10 times */
      {	
	count = 0;			/* initialize prime counter */
	for (i = 0; i <= SIZE; i++)	/* set all flags true */
	  flags[i] = TRUE;
	for (i = 0; i <= SIZE; i++)
	  {
	    if (flags[i])		/* found a prime */
	      {
		prime = i + i + 3;	/* twice index + 3 */
		for (k = i + prime; k <= SIZE; k += prime)
		  flags[k] = FALSE;	/* kill all multiples */
		count++;		/* primes found */
	      }
	  }
      }
    printf("%d primes.\n",count);		/*primes found in 10th pass */
  }


serinit ();
timerstart ();
unsigned long timerstop ();     /* States */

void main (void)  {
  unsigned long time;

#ifndef PHY161
  serinit ();
#endif
  timerstart ();
  sieve ();
  time = timerstop ();
  printf ("\nExecution Time: %ld * 400ns\n", time);  
  while (1);
}
 

⌨️ 快捷键说明

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