summaryrefslogtreecommitdiff
path: root/187.c
blob: 4bee151050a6a6490b40fff7e47a27f2f820f176 (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
#include "common.h"
#include <stdlib.h>
#include <string.h>

const unsigned long limit = 100000000;

int main(void)
{
	unsigned long* p = primes(limit/2); // sqrt(limit)
	unsigned long pcount = p[0];
	unsigned long rcount = 0;
	unsigned long i1, i2;
	
	for(i1=1; i1<=pcount; i1++)
		for(i2=i1; i2<=pcount; i2++)
		{
			unsigned long long result = (unsigned long long) p[i1] * p[i2];
			if(result >= limit)
				break;
			rcount++;
		}

	printf("%li\n", rcount);

	free(p);
	return 0;
}