引子
今天无意中,看到了慧科教育科技集团有限公司-后厂理工学院 的AI相关学员招募信息,要求颇高,还要做编程自测题,并且达到60分才建议进行课程的学习。我忍不住发送了报名信息,得到了自测题。看到了如下的一道题目:
image.png
快速幂取余算法实现
第一眼,看到题目,因为之前没有接触过快速幂算法,我心想,这也太简单了~~,于是分分钟做出了第一版的程序:
import math
def count_factorial(x):
result = 1
for each in range(1, x + 1):
result *= each
return result
def function(a, b, c):
return math.pow(a, count_factorial(b)) % c
print(function(2, 1, 2), 0)
print(function(3, 2, 2), 1)
print(function(1, 100000, 1), 0)
然后,报错了。
0.0 0
1.0 1
Traceback (most recent call last):
File "D:/code/test2.py", line 17, in
print(function(1, 100000, 1), 0)
File "D:/code/test2.py", line 12, in