#!/usr/bin/env python #Author: Shriphani Palakodety #Mail: shriphani@shriphani.com #Blog: http://shriphani.com/blog #Mail: spalakod@purdue.edu def factorial(n): if n == 0 or n == 1: return n else: return n * factorial(n-1) def genFact(decimal_num, position): for i in xrange(position, -1, -1): fact = factorial(position) * i if fact < decimal_num: return i, decimal_num - fact else: continue def getFactoradic(decimal_num, length): factoradic = [] num = decimal_num for i in xrange(length-1, -1, -1): bag = genFact(num, i) factoradic.append(bag[0]) num = bag[1] return factoradic