def relativePrime(a, b): global decomps if a in decomps: listA = decomps[a] else: listA = sortedList(primeFactors(a)) decomps[a] = listA if b in decomps: listB = decomps[b] else: listB = sortedList(primeFactors(b)) decomps[b] = listB tmp = listA.union(listB) # print(tmp) return len(tmp) == 0
def solve(limit=1000000): primeSum = sortedList([2]) iterator = 3 max = 0 maxConsecutive = 0 while iterator < limit: if prime(iterator): primeSum.add(primeSum[-1] + iterator) consecutive = sumOfPrimes(iterator, primeSum) if consecutive > maxConsecutive: (max, maxConsecutive) = (iterator, consecutive) iterator += 2 return max