From 5d0376b2aa593b3b33d414b45090ced790a43fba Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Tue, 12 Oct 2010 23:29:14 +0200 Subject: projecteuler solution 065 --- src/projecteuler/065.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/projecteuler/065.c diff --git a/src/projecteuler/065.c b/src/projecteuler/065.c new file mode 100644 index 0000000..3e93085 --- /dev/null +++ b/src/projecteuler/065.c @@ -0,0 +1,40 @@ +#include +#include + +#define limit 100 + +unsigned int start = 2; +unsigned int factors[limit-1]; + +int main(void) +{ + int pos, k=1, sum; + mpz_t numerator, denominator; + + for(pos=0; pos=0; pos--) + { + mpz_addmul_ui(numerator, denominator, factors[pos]); // numerator *= denominator * factors[pos] + mpz_swap(numerator, denominator); + } + + mpz_addmul_ui(numerator, denominator, start); // numerator += denominator * start + + sum = 0; + while(mpz_cmp_ui(numerator, 0) > 0) + sum += mpz_fdiv_q_ui(numerator, numerator, 10); + + printf("%li\n", sum); + + return 0; +} + -- cgit v1.2.3