From 8d23cd41eb9f4e0cf06715abe27c3999aa80aee9 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 18 Nov 2019 23:22:33 +0100 Subject: problem 50 python --- python/038-pandigital_multiples.py | 18 ++++++++++++++++++ python/050-consecutive_prime_sum.py | 31 +++++++++++++++++++++++++++++++ python/wip/026-reciprocal_cycles.py | 5 ----- 3 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 python/038-pandigital_multiples.py create mode 100644 python/050-consecutive_prime_sum.py delete mode 100644 python/wip/026-reciprocal_cycles.py (limited to 'python') diff --git a/python/038-pandigital_multiples.py b/python/038-pandigital_multiples.py new file mode 100644 index 0000000..be8fedc --- /dev/null +++ b/python/038-pandigital_multiples.py @@ -0,0 +1,18 @@ +# ### +# Pandigital multiples +# Problem 38 +# +# Take the number 192 and multiply it by each of 1, 2, and 3: +# 192 × 1 = 192 +# 192 × 2 = 384 +# 192 × 3 = 576 +# By concatenating each product we get the 1 to 9 pandigital, 192384576. We will call 192384576 the concatenated product of 192 and (1,2,3) +# The same can be achieved by starting with 9 and multiplying by 1, 2, 3, 4, and 5, giving the pandigital, 918273645, which is the concatenated product of 9 and (1,2,3,4,5). +# What is the largest 1 to 9 pandigital 9-digit number that can be formed as the concatenated product of an integer with (1,2, ... , n) where n > 1? +# ### + + +def concatenated_prod(n): + cprod = "" + + diff --git a/python/050-consecutive_prime_sum.py b/python/050-consecutive_prime_sum.py new file mode 100644 index 0000000..0fde061 --- /dev/null +++ b/python/050-consecutive_prime_sum.py @@ -0,0 +1,31 @@ +# ### +# Consecutive prime sum +# Problem 50 +# +# The prime 41, can be written as the sum of six consecutive primes: +# 41 = 2 + 3 + 5 + 7 + 11 + 13 +# This is the longest sum of consecutive primes that adds to a prime below one-hundred. +# The longest sum of consecutive primes below one-thousand that adds to a prime, contains 21 terms, and is equal to 953. +# Which prime, below one-million, can be written as the sum of the most consecutive primes? +# ### + + +from helper.prime import primes_loop, is_prime + + +sumed = [] +ps = [] +max_len = 0 +for p in primes_loop(): + if p > 20000: + break + ps.append(p) + for i in range(len(ps)): + s = sum(ps[i:]) + if s > 1000000: + break + if is_prime(s) and len(ps) > max_len: + sumed.append(s) + max_len = len(ps) + +print(sumed[-1]) diff --git a/python/wip/026-reciprocal_cycles.py b/python/wip/026-reciprocal_cycles.py deleted file mode 100644 index b502c9a..0000000 --- a/python/wip/026-reciprocal_cycles.py +++ /dev/null @@ -1,5 +0,0 @@ -from decimal import Decimal - -for i in range(1, 11): - # decimals = int(str(1/i)[2:]) - print(d) -- cgit