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;
}
|