From ab40629bd9914612aa869be23fa360a5dcd25929 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Wed, 22 Sep 2010 21:32:38 +0200 Subject: projecteuler solution 187 --- src/projecteuler/187.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/projecteuler/187.c diff --git a/src/projecteuler/187.c b/src/projecteuler/187.c new file mode 100644 index 0000000..a2e552e --- /dev/null +++ b/src/projecteuler/187.c @@ -0,0 +1,30 @@ +#include "common.h" +#include +#include + +// TODO: works only on 64 bit systems + +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 result = p[i1] * p[i2]; + if(result >= limit) + break; + rcount++; + } + + printf("%li\n", rcount); + + free(p); + return 0; +} + -- cgit v1.2.3