直接对x乘y次
int result(int x,int y){ int num=1; for (int i=1; i<=y; i++) { num*=x; } return num;}这种方法有手就行,但是运行时间往往过长
二. 快速幂主要利用递归,它的思想类似于分治,把大问题分割为小问题,再将小问题的结果合计为大问题的解
t 4 = t 2 + t 2 t^{4}=t^{2}+t^{2} t4=t2+t2
所以我们可以对幂指数进行不断的二分,达到降低时间复杂度的效果
当幂指数y为奇数时,还要乘一次自身
三 .二进制求幂假设指数为7,可写为
7 = 2 2 + 2 1 + 2 0 其 二 进 制 形 式 为 111 , 且 每 一 位 都 等 于 前 一 位 的 平 方 7=2^{2}+2^{1}+2^{0} 其二进制形式为111,且每一位都等于前一位的平方 7=22+21+20其二进制形式为111,且每一位都等于前一位的平方
再此方法下,时间复杂度最低
希望大家三连关注,嘻嘻,我会继续更新c语言和python方面的文章,希望大家多多支持。