学校Python作业[学习通_排列组合问题]

本系列文章为同学困扰的python做出作业答案汇总,答案皆为本学生自己边学边做汇总上传的,编排不易,希望大家喜欢。

本作业所有内容均在github上有留存,每次作业github上会最先发布,CSDN上需要编辑将会慢一两天,着急完成作业的同学可以前往github抢先学习:Opve2/homework: 这个作业 (github.com)

import math   #导入库
def fact(n):   #定义求阶乘函数
    num = 1
    #方法一:用循环的方法求阶乘
    if n == 0:
        num =1
    else:
        for i in range (1,n+1):
            num *=i
    return num
'''
    #方法二:用math库中的factoial函数求阶乘
    num = math.factorial(n)
    return num
    
    #方法三:用递归方法求阶乘
    if n == 0:
        num = 1
    else :
        num = n * fact(n-1)
    return num
'''
def fun(m,n):
    m_factorial =fact(m)
    n_factorial =fact(n)
    m_n_factorial =fact(m-n)
    return m_factorial /(n_factorial * m_n_factorial)

if __name__ == "__main__":
    m =int(input("请输入一个m的值"))
    n  =int(input("请输入一个n的值"))
    if m < n:
        m,n =n,m
    print(int(fun(m,n)))
    
    
    
        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值