summaryrefslogtreecommitdiff
path: root/bcc/misc/test/bigsievec.t
blob: f3f76b217d64055f2667771b86f27130b2ef7227 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#define TRUE 1
#define FALSE 0
#define NITER 10
#define SIZE 100000

char flags[SIZE+1];

main()
{
	int i,prime,k,count,iter;

	for (iter=0;iter<NITER;iter++)
	{
		count=0;
		for (i=0;i<=SIZE;i++)
			flags[i]=TRUE;
		for (i=0;i<=SIZE;i++)
		{
			if (flags[i])
			{
				prime=i+i+3;
				for (k=i+prime;k<=SIZE;k=k+prime)
					flags[k]=FALSE;
				count++;
			}
		}
	}
	printf( "%d primes\n", count );
}