该题 PyPy3 比 Python3 慢。求问原因。
def C(n, m):
if n < m:
return 0
x, y = 1, 1
for i in range(m + 1, n + 1):
x *= i
while y <= n - m and x % y == 0:
x //= y
y += 1
return x
def qpow(x, y):
if y == 0:
return 1
t = qpow(x, y >> 1)
z = 1
if (y & 1):
z = x
return t * t * z
def F(n, m):
ans = 0
for j in range(0, m + 1):
ans += qpow(-1, m - j) * C(m, j) * qpow(j, n)
return ans
try:
while True:
n, m = map(int, input().split())
x = F(n, m)
for i in range(1, m + 1):
x //= i
print(x)
except:
pass