Python中的逆阶乘
假设我们有一个数字a,我们必须找到n,这样n(n!)的阶乘与a相同。众所周知,阶乘n=n*(n-1)*(n-2)*...*1。如果没有这样的整数n,则返回-1。
因此,如果输入像a=120,则输出将为5。
为了解决这个问题,我们将遵循以下步骤-
i:=0,num:=1
L:=新列表
当我<一个,做
i:=阶乘
在L的末尾插入i
num:=num+1
如果a在L中,则
返回(a在L中的索引)+1
除此以外,
返回-1
让我们看下面的实现以更好地理解-
示例
import math
class Solution:
def solve(self, a):
i,num=0,1
L=[]
while i < a :
i=math.factorial(num)
L.append(i)
num+=1
if a in L :
return L.index(a)+1
else :
return -1
ob = Solution()print(ob.solve(120))输入值
120
输出结果
5
热门推荐
10 医院探望朋友祝福语简短
11 毕业祝福语简短女朋友
12 春节虎年爸妈祝福语简短
13 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短