不明白为什么while循环不会终止

时间:2018-10-11 21:24:31

标签: python while-loop terminate

我正在尝试基于重复平方实现一个简单的fast_exponentiation算法。但是,尽管条件变量n似乎达到了0,但我的while循环并没有终止。以下是我的代码及其生成的输出:

def fast_exponentiation(a, n):
    result = 1
    b = a
    while n > 0:
        print(n)
        if n%2 == 1:
            result = result*b
            n = n-1
        b = pow(b,b)
        n = int(n/2)
    print("Here")
    return result


print(fast_exponentiation(2,12))

输出为:

12
6
3
1

您能告诉我我在做什么错吗?

0 个答案:

没有答案