示例#1
0
def multiplyListsReturnList(listA,listB):
	a = list(listA)
	b = (listB)
	s = []
	n = len(a)
	if len(b) > n:
		n = len(b)
	
	helper.prependZeros(a,n)
	helper.prependZeros(b,n)
	
	position = 0

	b.reverse()

	for i in range(n):
		partial = multiplyOne.multiplyOneListsReturnList(a,[b[i]])
		partial.reverse()
		adjustmentForBase = len(helper.numberToList(helper.listToNumber(partial))) + position
		helper.prependZeros(partial, adjustmentForBase)
		partial.reverse()
		s = addition.addListsReturnList(s,partial)
		position = position + 1

	return s
示例#2
0
def multiplyOneListsReturnList(listA,listB):
	a = list(listA)
	b = list(listB)

	if len(b)!= 1:
		return None

	n = len(a)
	c = [0]
	d = []

	a.reverse()

	for i in range(n):
		cAndDNum = a[i] * b[0]
		cAndD = helper.numberToList(cAndDNum)
		helper.prependZeros(cAndD,2)
		c.append(cAndD[0])
		d.append(cAndD[1])
	
	c.reverse()
	d.reverse()	
	
	return addition.addListsReturnList(c,d)