快速幂
麦兜 / 2019-07-17 / 算法 / 阅读量 149

说明

#include <iostream>
using namespace std;

long long apow(long long a, long long b)
{
    if (b == 0)
        return 1;
    if (b % 2 == 0)
        return apow(a, b / 2)*apow(a, b / 2);
    else return a*apow(a, b - 1);
}

int main()
{
    cout << apow(2,10);
}
输出结果 1024  时间复杂度O(log b)

发表留言

人生在世,错别字在所难免,无需纠正。