From 4fa79494b6450b4f92d4c5bc362002e9fef87b3b Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Wed, 7 Dec 2016 23:52:58 -0800 Subject: [PATCH] Problem 50 --- 50 | Bin 0 -> 9536 bytes 50.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 50 create mode 100644 50.c diff --git a/50 b/50 new file mode 100755 index 0000000000000000000000000000000000000000..e1d48628021f07706aaa6822ff032f9bb26ff0b5 GIT binary patch literal 9536 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 literal 0 HcmV?d00001 diff --git a/50.c b/50.c new file mode 100644 index 0000000..0ba707b --- /dev/null +++ b/50.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include "primes.h" + +int main () { + int n = 1000000; + long* primes; + bool* primesTable; + long numPrimes = listOfPrimes (n, &primes, &primesTable); + + int terms = 22; + int mostTerms = terms; + int largestSum = 953; + while (terms < n) { + int sum = 0; + for (int i = 0; i < terms; i++) { + sum += primes[i]; + } + + if (sum > n) + break; + if (primesTable[sum]) { + mostTerms = terms; + largestSum = sum; + terms++; + continue; + } + + for (int j = terms; j < n; j++) { + sum += primes[j] - primes[j - terms]; + if (sum > n) + break; + if (primesTable[sum]) { + mostTerms = terms; + largestSum = sum; + break; + } + } + + terms++; + } + printf ("%d terms: %d\n", mostTerms, largestSum); + + free (primes); + free (primesTable); +}