📜  程序来查找x ^ y的后两位(1)

📅  最后修改于: 2023-12-03 15:27:21.653000             🧑  作者: Mango

查找 x^y 的后两位

在计算机科学中,我们常常需要计算大数字的幂运算。在这个过程中,仅仅需要计算幂运算的结果是不够的,我们还需要计算出这个结果的末尾的最后两个数字。下面是一个实现这个功能的简单程序。

实现方式

我们可以使用公式 (a * b) % m = ((a % m) * (b % m)) % m 的形式,这个公式可以在不使用高精度计算的情况下完成大数乘法运算。因为我们只需要看结果的最后两个数字,所以我们可以将 m 赋值为 100,就可以得到结果的最后两个数字。

代码:

def last_two_digits_of_power(x, y):
    a, b, m = x, 1, 100
    while y > 0:
        if y & 1:
            b = (a * b) % m
        a = (a * a) % m
        y >>= 1
    return b
测试

我们将上述代码用于计算 17 ^ 256 并返回结果的最后两个数字,期望结果是 81

代码:

result = last_two_digits_of_power(17, 256)
print(result)  # 输出结果为 81
结论

上述代码实现了一个简单的方法来计算一个大数幂运算的最后两个数字。这个实现方式使用了模运算,并且尽可能地避免了使用高精度计算。