Exemplo n.º 1
0
def f():
    for n in count(1):
        pn = pentagonal(n)
        lower_pentagonals = [pentagonal(i) for i in range(1, n)]
        for p in lower_pentagonals:
            if pn - p in Pentagonals and pn + p in Pentagonals:
                return pn - p
Exemplo n.º 2
0
def main():
    t_index = 285
    p_index = 165
    h_index = 143
    pentagonal = euler.pentagonal(p_index)
    hexagonal = euler.hexagonal(h_index)
    while True:
        t_index += 1
        triangular = euler.triangular(t_index)
        if triangular > pentagonal:
            p_index += 1
            pentagonal = euler.pentagonal(p_index)
        if triangular > hexagonal:
            h_index += 1
            hexagonal = euler.hexagonal(h_index)
        if triangular == pentagonal == hexagonal:
            break
    return triangular
Exemplo n.º 3
0
def main():
    lst = [euler.pentagonal(i) for i in range(100000)]
    s = set(lst)
    for k in range(1, 100000):
        penta_k = lst[k]
        for j in range(1, k):
            penta_j = lst[j]
            if penta_k - penta_j in s:
                if penta_k + penta_j in s:
                    return penta_k - penta_j
    return 0
Exemplo n.º 4
0
from itertools import count, takewhile
from euler import pentagonal, is_pentagonal


result = ()
pentagonals_generated = set()

for n in count(1):
	pentagon_n = pentagonal(n)
	pentagonals_generated.add(pentagon_n)
	for pentagon_sub_n in takewhile(lambda p_sub_n: p_sub_n < pentagon_n, pentagonals_generated):
		pentagon_diff = pentagon_n - pentagon_sub_n
		if pentagon_diff in pentagonals_generated:
			pentagon_sum = pentagon_n + pentagon_sub_n
			if is_pentagonal(pentagon_sum):
				result = (pentagon_diff, n, pentagon_n, pentagon_sub_n, pentagon_sum)
				break
	else:
		continue
	break

print "D: %d, n: %d, pentagon_n: %d, pentagon_sub_n: %d, pentagon_sumb: %d" % result
Exemplo n.º 5
0
from itertools import count
from euler import pentagonal, is_pentagonal


result = ()

for n in count(1):
	pentagon_n = pentagonal(n)
	for sub_n in xrange(1, n):
		pentagon_sub_n = pentagonal(sub_n) 
		pentagon_diff = pentagon_n - pentagon_sub_n
		if is_pentagonal(pentagon_diff):
			pentagon_sum = pentagon_n + pentagon_sub_n
			if is_pentagonal(pentagon_sum):
				result = (pentagon_diff, n, sub_n, pentagon_n, pentagon_sub_n, pentagon_sum)
				break
	else:
		continue
	break

print "D: %d, n: %d, sub_n: %d, pentagon_n: %d, pentagon_sub_n: %d, pentagon_sumb: %d" % result