题目描述
输入
输入的第一行包含一个整数n;第二行包含一个整数m,第三行包含一个整数k。
数据规模和约定
对于100%的数据,n在十进制下不超过1000位,即1≤n< 10^1000,1≤k≤1000,同时0≤m≤n,k≤n。
提示
999101是一个质数;
当n位数比较多时,绝大多数情况下答案都是0,但评测的时候会选取一些答案不是0的数据;
输出
计算上面公式的值,由于答案非常大,请输出这个值除以999101的余数。
样例输入
3 1 3
样例输出
162
按照盲目的计算会超时,但是还没有不超时的解决办法
超时的代码:
n=int(input())
m=int(input())
k=int(input())
result=0
def C(x,y):
mm=1
for j in range(y):
mm=mm*(x-j)/(j+1)
return round(mm)
for i in range(n+1):
result=result+C(n,i)*C(n,m)*(i**k)
print(result%999101)