python 排列的简单实现

1 递归式

#递归实现阶乘
def jc1(kin):
    if (kin == 0 or kin == 1):
        return 1
    return kin * jc1(kin - 1)

2 循环式

#循环实现阶乘和
def jc(x):
#    sum=0
#    while(x>0):
        num = 1
        for i in range(1,x+1):
            num*=i
#         sum+=gg
#         x=x-1
        return num

调用:

def pl(x,y):
    res=1
    # if(x-y>y):
    #     for i in range(x,y+1,-1):
    #         res*=jc1(i)/jc1(x-i+1)
    return jc(x)//jc(x-y)

结果:

print("结果有:{0} 种".format(pl(6,4)))
#结果有:360 种

猜你喜欢

转载自blog.csdn.net/qq_42898087/article/details/81913736