关于运行效率
查看原帖
关于运行效率
414231
_Fatalis_楼主2024/11/6 19:49

该题 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
2024/11/6 19:49
加载中...