Beispiel #1
0
    def isHexagonalNumber(self, n):
        """Determine whether n is hexagonal number.
		Return False if 'n' is not hexagonal number,
		else return the position of 'n' in the hexagonal number sequence.

		Arguments:
		n -- input number
		"""
        delta = math.sqrt(8 * n + 1)
        if integer.isInt(delta):
            x = (delta + 1) / 4
            if integer.isInt(x) and x > 0:
                return int(x)
        else:
            return False
Beispiel #2
0
    def isTriangleNumber(self, n):
        """Determine whether is triangle number.
		Return False if 'n' is not triangle number,
		else return the position of
		'n' in the triangle number sequence.

		Arguments:
		n -- input number
		"""
        delta = math.sqrt(8 * n + 1)
        if integer.isInt(delta):
            x = (delta / 2) - 0.5
            if integer.isInt(x) and x > 0:
                return int(x)
        else:
            return False
Beispiel #3
0
	def __init__(self, start=2):
		"""Arguments:
		start -- the number starts from (default 2)
		"""
		if integer.isInt(start) and start >= 2:
			self.gen = start
			self.start = start
		else:
			raise ValueError('Start number must be an integer and not less than 2.')
Beispiel #4
0
def numToDigitArray(num):
	"""Return an array of int which represent the number by digit.

	Arguments:
	num -- input number
	"""
	if integer.isInt(num):
		digitArray = []
		strArray = str(num)
		for s in strArray:
			digitArray.append(int(s))

		return digitArray
	else:
		raise ValueError("Number must be integer.")
Beispiel #5
0
	def reset(self, start=None):
		"""Reset generator.

		Arguments:
		start -- if not set, reset to the start number which initialized with
				(default None)
		"""
		if start is None:
			self.gen = self.start
		else:
			if integer.isInt(start) and start >= 2:
				self.gen = start
				self.start = start
			else:
				raise ValueError('Start number must be an integer and not less than 2.')
Beispiel #6
0
def numToShortDigitArray(num, digitArray):
	"""Parse number into provided digitArray. If the length of digitArray is
	smaller than the length of num, then only last fitable digits will be
	filled into the array.

	Arguments:
	num			-- input number
	digitArray	-- digit array that needed to be filled
	"""
	if integer.isInt(num):
		strArray = str(num)
		rStrArray = strArray[::-1]
		numLength = len(strArray)
		digitLength = len(digitArray)
		for i in xrange(0, numLength):
			if i < digitLength:
				digitArray[digitLength - i - 1] = int(rStrArray[i])
	else:
		raise ValueError("Number must be integer.")