c++ - 动态规划的POW函数计算

标签 c++ dynamic-programming

我知道 pow(base, power) 是 C 中的一个内置函数,复杂度为 O(power)。我可以通过动态规划降低它的复杂度吗?

最佳答案

你可以在 O(logn) 中计算它

int power(int x, unsigned int y)
{
    int temp;
    if( y == 0)
        return 1;
    temp = power(x, y/2);
    if (y%2 == 0)
        return temp*temp;
    else
        return x*temp*temp;
}

详见 Here

关于c++ - 动态规划的POW函数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31024503/

相关文章:

c++ - 如何将 my_alloc 用于 C++ 中的_all_ 新调用?

c++ - 如何使用分布在大型项目中的多个#include 文件来预处理单个源文件?

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

algorithm - 给定右臂拉伸(stretch)的二叉搜索树的数量

algorithm - 递归划分每次迭代分为两部分的列表以获得最接近的总和

algorithm - 选择一对不重叠的回文子串的方法数

c++ - 调用栈地址

c++ - 复制指向静态数组的指针

algorithm - 寻找一个完美的英文 Pangram 算法

algorithm - 与数组的最大允许大小相比,如何使用不同函数调用的动态编程数量太大