Пример #1
0
def generator251v5(n):
	count = 0
	for l in range(1,int((n + 1)/6) + 1):
		a = 3*l - 1
		# Need all the prime factors of l**2(8*l - 3)
		factors = primeFactors(l)
		factors += factors
		factors += primeFactors(8*l-3)

		factorsOfb = [0]*len(set(factors))
		listOfPrimes = [0]*len(set(factors))
		for index,p in enumerate(set(factors)):
			factorsOfb[index] = factors.count(p)//2
			listOfPrimes[index] = p

		latticeCube = cube(factorsOfb)
		for vector in latticeCube:			
			b = 1
			for index, p in enumerate(listOfPrimes):
				b *= p**vector[index]

			c = (8*l**3 - 3*l**2) / b**2
			if a + b + c <= n:
				count += 1

	return count
Пример #2
0
def possibleFactorsForb(l):
	# build a list of all possible factors of b
	factors = primeFactors(8*l**3 - 3*l**2)
	for p in set(factors):
			count = factors.count(p)
			while count > 1:
				factorsOfb.append(p**count)
				count -= 2

	return factors