在 Python 中找出给定方程的值的程序
假设我们有五个整数a、b、c、d、n。我们必须找出((ab)(cd))modn。输出值为整数。
因此,如果输入类似于a=2,b=3,c=2,d=4,n=10,那么输出将为6。
2^3 = 8 2^4 = 16 8^16 = 281474976710656 281474976710656 mod 10 = 6
示例
让我们看看以下实现以获得更好的理解-
def helper(n):
p = n
i = 2
while i * i <= n:
if n % i == 0:
p -= p //一世
while n % i == 0:
n = n //一世
if i != 2:
i += 2
else:
i += 1
if n > 1:
p -= p //n
return p
def solve(a, b, c, d, n):
if b == 0 or (c == 0 and d != 0):
return pow(a, 0, n)
if c == 1 or d == 0:
return pow(a, b, n)
if a == 0 or a % n == 0:
return 0
if d == 1:
return pow(a, b * c, n)
p = helper(n)
e = pow(c, d, p) + p
return pow(pow(a, b, n), e, n)
print(solve(2, 3, 2, 4, 10))输入
2, 3, 2, 4, 10输出结果
6