题目内容:
编写程序实现以下功能:计算C(1,n)+C(2,n)+...+C(m,n)的值。其中,m和n是两个正整数,且m小于或等于n,C(i,n)=n!/i!/(n-i)!(这里的!表示阶乘,i在1~m上依次取值)。要求计算C(i,n)的功能用函数实现。
输入格式:
两个正整数m和n,其中m小于或等于n。
输出格式:
如果输入的两个整数无效,则输出invalid;否则输出计算结果。
输入样例:
-1
3
输出样例:
invalid
输入样例:
2
3
输出样例:
6
时间限制:500ms内存限制:32000kb
代码:
def fac(n):
if n == 1:
return 1
return n * fac(n-1)
def cin(i,n):
return fac(n)/(fac(i)*fac(n-i))
m = int(input())
n = int(input())
if m*n <= 0 or m > n:
print("invalid")
else:
sum = 0
for i in range(1,m+1):
sum += cin(i, n)
print(int(sum))
用例测试结果 | 运行时间 | 占用内存 | 提示 | 得分 |
---|---|---|---|---|
用例1通过 | 33ms | 4644kb | 1 | |
用例2通过 | 35ms | 4516kb | 1 |
本次得分/总分:2.00/2.00分