下载此文档

不用递归的快速求幂算法.docx


文档分类:IT计算机 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
比较容易想到的快速求幂算法使用分治法,这样的时间复杂度是,但使用动态规划的算法比较巧妙。这个算法的思路是根据指数的二进制表示,将其表示成的乘积,同时用循环将制成数组,从程序可以看出,这样做的时间复杂度也是,同时最后显示了与c++中库函数的结比较容易想到的快速求幂算法使用分治法,这样的时间复杂度是,但使用动态规划的算法比较巧妙。这个算法的思路是根据指数的二进制表示,将其表示成的乘积,同时用循环将制成数组,从程序可以看出,这样做的时间复杂度也是,同时最后显示了与c++中库函数的结果对比
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
template<typename T>
T dynamicPlanPow(T x,int n)
{
T result=1;
vector<T> arr;
(x);
int pos=0;
int judge=n&1;
if(judge==1)
{
result*=arr[pos];
}
n=n>>1;
while(n!=0)
{
(arr[pos]*arr[pos]);
pos++;
judge=n&1;
if(judge==1)
{
result*=arr[pos];
}
n=n>>1;
}
return result;
}
void main()
{
double x=2;
int n=100;
printf("%.2lf\n\n%.2lf\n",dynamicPlanPow(x,n),pow(x,n));
}

不用递归的快速求幂算法 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1542605778
  • 文件大小28 KB
  • 时间2022-04-17
最近更新