【vivo2020春招】 02 数位之积
题目:
现给定任意正整数 n,请寻找并输出最小的正整数 m(m>9),使得 m 的各位(个位、十位、百位 ... ...)之乘积等于n,若不存在则输出 -1。
分析:
对于n,找出2-9中所有能被它整除的数,然后组合成一个最小的整数即可
解题:
# # 输入一个整形数值,返回一个整形值 # @param n int整型 n>9 # @return int整型 # class Solution: def solution(self , n ): # write code here list1=[] row = n for i in range(9,1,-1): while(n%i ==0): list1.append(i) n=n/i leicheng=1 for i in list1: leicheng *=i if(leicheng != row): return -1 result =0 for i in range(len(list1)): result += list1[i] *pow(10,i) return(result)