calculate mod using pow function python

前端 未结 3 956
自闭症患者
自闭症患者 2020-12-06 05:46

So, If i would like to calculate the value of 6^8 mod 5 using the pow function, what should I put in a line??

In the assumption that You don\'t need to import it fir

相关标签:
3条回答
  • 2020-12-06 06:10

    It's simple: pow takes an optional 3rd argument for the modulus.

    From the docs:

    pow(x, y[, z])

    Return x to the power y; if z is present, return x to the power y, modulo z (computed more efficiently than pow(x, y) % z). The two-argument form pow(x, y) is equivalent to using the power operator: x**y.

    So you want:

    pow(6, 8, 5)
    

    Not only is pow(x, y, z) faster & more efficient than (x ** y) % z it can easily handle large values of y without using arbitrary precision arithmetic, assuming z is a simple machine integer.

    0 讨论(0)
  • 2020-12-06 06:19

    check the docs of pow:

    pow(6, 8, 5)
    

    does what you want.

    do not use a ** b % n! while this will give the correct result it will be by orders of magnitude slower if you do calculations for bigger numbers. pow will do the modulo operation in every step while ** will first do the exponentiation in the integers (which may result in a huge number) and take the modulus only at the end.

    now if you are interested in numbers that are bigger than 32 bit you may want to have a look at gmpy2 for even more speed.

    0 讨论(0)
  • 2020-12-06 06:25

    You can use '%' character to get the modulo value. For example print(pow(6,8) % 5) or print(6**8 % 5).

    0 讨论(0)
提交回复
热议问题