PythonでNumber Factory
コード
def checkio(number): n = prime_decomposition(number) n = check_prime(n) if n != 0: n = rounding_numbers(n) n = "".join(map(str,n)) print int(n) def check_prime(number): if len(number) == 1 or max(number) > 10: return 0 else: return number def rounding_numbers(number): t = 0 b = len(number) while 1: sorted(number) if number[0] * number[1] < 10: number[0] = number[0] * number[1] del number[1] elif number[0] == number[1] and number[0]*number[1] < 10: number[0] *= number[0] del number[1] else: number.append(number[0]) del number[0] if t > b: break t+=1 number.sort() return number def prime_decomposition(n): i = 2 table = [] while i * i <= n: while n % i == 0: n /= i table.append(i) i += 1 if n > 1: table.append(n) return table if __name__ == '__main__': checkio(1024) checkio(125)