Esempio n. 1
0
def main():
    for Pa in ngonalNums(5):
        for Pb in ngonalNums(5):
            if Pb >= Pa:
                break
            if pentagonal(Pa + Pb) and pentagonal(Pa - Pb):
                return Pa - Pb
Esempio n. 2
0
def main():
	for Pa in ngonalNums(5):
		for Pb in ngonalNums(5):
			if Pb >= Pa:
				break
			if pentagonal(Pa + Pb) and pentagonal(Pa - Pb):
				return Pa - Pb
Esempio n. 3
0
def main(limit):
	# trick: "merge" the sorted lists until a match is found
	gens = (ngonalNums(3), ngonalNums(5), ngonalNums(6))
	nums = list(map(next, gens))
	while nums[0] <= limit or not same(nums):
		i = min(range(3), key=lambda i: nums[i])
		nums[i] = next(gens[i])
	return nums[0]
Esempio n. 4
0
def main(limit):
    # trick: "merge" the sorted lists until a match is found
    gens = (ngonalNums(3), ngonalNums(5), ngonalNums(6))
    nums = list(map(next, gens))
    while nums[0] <= limit or not same(nums):
        i = min(range(3), key=lambda i: nums[i])
        nums[i] = next(gens[i])
    return nums[0]
Esempio n. 5
0
def main(limit):
	return next(n for n in ngonalNums(3) if n > limit and pentagonal(n) and hexagonal(n))
Esempio n. 6
0
def ngonalNumsOfLen(n, k):
	return list(takeLen(k, ngonalNums(n)))
Esempio n. 7
0
def ngonalNumsOfLen(n, k):
    return list(takeLen(k, ngonalNums(n)))
Esempio n. 8
0
def main(n):
	return next(t for t in ngonalNums(3) if divisorCount(t) > n)
Esempio n. 9
0
def main(n):
    return next(t for t in ngonalNums(3) if divisorCount(t) > n)
Esempio n. 10
0
def main(limit):
    return next(n for n in ngonalNums(3)
                if n > limit and pentagonal(n) and hexagonal(n))