Example #1
0
def createNumbers(f, polygonal):
	return [(str(i), polygonal) for i in  list(generateFromLambda(f, 159)) if 999 < i and i < 10000]
Example #2
0
 def testGenerateFromLambdaTriangle(self):
     self.assertEqual(21, list(generateFromLambda(lambda n: n * (n + 1) // 2, 20))[5])
Example #3
0
 def testGenerateFromLambdaPentagonal(self):
     self.assertEqual(22, list(generateFromLambda(lambda n: n * (3 * n - 1) // 2, 20))[3])
Example #4
0
'''
Triangle, pentagonal, and hexagonal numbers are generated by the following 
formulae: 

Triangle : Tn=n(n+1)/2  
1, 3, 6, 10, 15, ... 

Pentagonal 
Pn=n(3n−1)/2 
1, 5, 12, 22, 35, ... 

Hexagonal 
Hn=n(2n−1) 
1, 6, 15, 28, 45, ... 

It can be verified that T285 = P165 = H143 = 40755. 
Find the next triangle number that is also pentagonal and hexagonal. 
'''
from utilities.specialNumbers import generateFromLambda

if __name__ == '__main__':
	pentas = set(list(generateFromLambda(lambda n: n * (3 * n - 1) // 2, 100000)))
	hexas = set(list(generateFromLambda(lambda n: n * (2 * n - 1), 100000)))
	print([i for i in pentas if i in hexas])
	
# 	pentas = set(list(generateFromLambda(lambda n: n*(3n-1)//2))