sieve.c
来自「著名的Parser库Spirit在VC6上的Port」· C语言 代码 · 共 37 行
C
37 行
/* -*- mode: c -*-
* $Id: Sieve.c,v 1.3 2001/10/20 15:43:19 nuffer Exp $
* http://www.bagley.org/~doug/shootout/
*/
/*
#include <stdio.h>
#include <stdlib.h>
*/
int
main(int argc, char *argv[]) {
int NUM = ((argc == 2) ? atoi(argv[1]) : 1);
static char flags[8192 + 1];
long i, k;
int count = 0;
while (NUM--) {
count = 0;
for (i=2; i <= 8192; i++) {
flags[i] = 1;
}
for (i=2; i <= 8192; i++) {
if (flags[i]) {
// remove all multiples of prime: i
for (k=i+i; k <= 8192; k+=i) {
flags[k] = 0;
}
count++;
}
}
}
printf("Count: %d\n", count);
return(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?