def p(a, b): if b == 0: return 1 if b % 2 == 0: return p(a, b//2) * p(a, b//2) return a * p(a, b-1)
如果去掉最后一句return a * p(a, b-1),那答案显而易见是O(n);但如果加上这句,时间复杂度还是O(n)吗?
return a * p(a, b-1)
O(n)