コード例 #1
0
ファイル: 88-3.py プロジェクト: EmilHernvall/projecteuler
    for divisor in divisors:
        if divisor < m or currentProduct * divisor > 2*upper:
            continue

        if validRecurse(divisors, usedDivisors+[divisor]):
            pass

    return False

upper = 12000
nums = set(range(3, upper+1))
prodSums = {}

i = 2
while i < upper:
    print i
#	divisors = factorize.multipleDivisors(i)
    divisors = set(factorize.divisors(i))
    divisors.remove(1)
    validRecurse(list(divisors), [])
#	print nums
    i += 1

res = set()
for k, v in prodSums.iteritems():
	if k >= 2 and k <= upper:
		res.add(v)

print res
print sum(res)
コード例 #2
0
ファイル: 88.py プロジェクト: EmilHernvall/projecteuler
def valid(n, p):
	divisors = factorize.divisors(n)
	return validRecurse(divisors, [], p)
コード例 #3
0
ファイル: 88-3.py プロジェクト: EmilHernvall/projecteuler
    for divisor in divisors:
        if divisor < m or currentProduct * divisor > 2 * upper:
            continue

        if validRecurse(divisors, usedDivisors + [divisor]):
            pass

    return False

upper = 12000
nums = set(range(3, upper + 1))
prodSums = {}

i = 2
while i < upper:
    print i
    #	divisors = factorize.multipleDivisors(i)
    divisors = set(factorize.divisors(i))
    divisors.remove(1)
    validRecurse(list(divisors), [])
    #	print nums
    i += 1

res = set()
for k, v in prodSums.iteritems():
    if k >= 2 and k <= upper:
        res.add(v)

print res
print sum(res)