我想计算这个等式的结果
[(pow(4, p) - 1) / 3] % q
我写了一个函数pow
,它返回4 mod q的p次幂,但我不能在这里应用它。
我该怎么做?
p,q是整数,可能很大 - 高达1 000 000 000。
提前致谢。
答案 0 :(得分:3)
计算pow(4, p) - 1
模3*q
,并将结果除以3.要进行求幂,请使用Modular exponentiation算法。
编辑:这将为您提供整数除法(即舍入结果)。请参阅@ lisyarus关于整数模q
的除法的答案。
如果q
不能被3整除,则两个答案都应该给出相同的结果,因为pow(4, p) - 1
总是可以被3整除,所以整数除法的舍入不会发挥作用。如果q
可被3整除,则没有乘法逆,只能使用此方法。
答案 1 :(得分:3)
这取决于你的意思除以3.如果它是正常整数除法,似乎@interjay回答了这个问题。如果它是整数模p中的除以3,那么你应该找到3模p的倒数,如果存在的话。