【例5】x的n次幂
3.代码实现
class Solution:
def myPow(self, x, n): #在Python3中整除需使用"//"
if n < 0 :
x = 1 // x
n = -n
ans = 1
tmp = x
while n != 0:
if n % 2 == 1:
ans *= tmp
tmp *= tmp
n //= 2
return ans
if __name__ == '__main__':
temp = Solution()
num1 = 123
num2 = 3
print(("输入:"+str(num1)+" "+str(num2)))
print(("输出:"+str(temp.myPow(num1,num2))))
【例6】快速幂
3.代码实现
class Solution:
def fastPower(self, a, b, n):
ans = 1
while n > 0:
if n % 2 == 1:
ans = ans * a % b
a = a * a % b
n = n / 2
return ans % b
if __name__ == '__main__':
a = int(input("请输入a:"))
n = int(input("请输入n:"))
b = int(input("请输入b:"))
solution = Solution()
print("结果是:", solution.fastPower(a, n, b))