把指数转化为二进制,然后使用Scaling Method,时间复杂度为O(lg p)。

  1. unsigned power(unsigned n, unsigned p)
  2. {
  3.   unsigned k = 1;
  4.   while (p>1) {
  5.   if(0 != (p &1))
  6.   k *= n;
  7.   n *= n;
  8.   p /= 2;
  9.   }
  10.   return n*k;
  11. }
  12. int main(int argc, char *argv[])
  13. {
  14.   int n, p;
  15.   n = atoi(argv[1]);
  16.   p = atoi(argv[2]);
  17.   printf("power(%d,%d)=%d/n", n, p, power(n,p));
  18. }

设n =  m, p = 110101

第1次, k = m^1,n = m^10.

第2次, k = m^1,n = m^100.

第3次, k = m^1 * m^100 = m^101,n = m^1000.

第4次, k = m^101,n = m^10000.

第5次, k = m^101 * m^10000 = m^10101,n = m^100000.

第6次, p = 1,  终止。

k*n = m^10101 * m^100000 = m ^ 110101。

O(lg p)计算n^p相关推荐

  1. 向量空间模型 java_相似度计算举例-----空间向量模型

    2.1.1 相似度计算举例 下面我们考虑一个固定的查询和文档集,包含一个查询Q和三篇文档组成的文档集: Q:"gold silver truck" D1:"Shipmen ...

  2. 能计算对数函数、指数函数和幂函数的模拟计算机

    能计算对数函数.指数函数和幂函数的模拟计算机 在对数函数y=loga x(a>0,a≠1,x>0)中,自变量x和因变量y之间是对数关系,就是a的y次方的计算结果是x.现代模拟电路中,可以使 ...

  3. 幂函数在计算机中怎么下,对数指数幂函数模拟计算机.doc

    能计算对数函数.指数函数和幂函数的模拟计算机 在对数函数y=loga x(a>0,a≠1,x>0)中,自变量x和因变量y之间是对数关系,就是a的y次方的计算结果是x.现代模拟电路中,可以使 ...

  4. Arduino用超声波测距模块HC-SR04获得精确测量值——误差数据的排除

    在Arduino板上最常用的测距模块就是超声波传感器HC-SR04,因为该模块使用方便,价格便宜(某宝上4元左右包邮).它的主要性能指标为:采用40KHz超声波,测距:2cm-400cm,分辨率:3m ...

  5. 【第一周】吴恩达团队AI for Medical Diagnosis课程笔记

    系列文章目录 目录 系列文章目录 文章目录 前言 一.欢迎(大概就是课程的简介) 1.AI for Medicine专项课程以及AI for Medical Diagnosis课程介绍 2.AI fo ...

  6. 科学计算机上lg怎么打,科学计算器的log右下角的底数怎么表示啊?各位学霸,拜托了...

    科学计算器的log右下角的底数怎么表示啊?各位学霸,拜托了以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 科学计算器的l ...

  7. “情感计算”的蓬勃发展依赖于收集大量的行为和情感数据

    Illustration: iStock/IEEE Spectrum 来源: IEEE电气电子工程师学会 这是一篇guest post.这里表达的观点只是作者的观点,并不代表IEEE Spectrum ...

  8. 算法时间复杂度lg是多少_时间复杂度入门理解

    前言 当你编写完一个程序的时候,怎样对它进行算法最优的判断呢?效率又是怎样体现的呢?效率=总执行次数/总时间,一般来说,程序越庞大,其执行效率越低.因此,对于模块化程序,优化其算法的时间复杂度是非常重 ...

  9. 计算机lg符号,数学符号lg的意思

    lg表示以10为底的对数,对数:如果 a^x=N(a>0,且a≠1),那么数x叫做以a为底N的对数(logarithm),记作 x=logaN .其中,a叫做对数的底数,N叫做真数.且a> ...

  10. DirectX11 With Windows SDK--27 计算着色器:双调排序

    前言 上一章我们用一个比较简单的例子来尝试使用计算着色器,但是在看这一章内容之前,你还需要了解下面的内容: 章节 26 计算着色器:入门 深入理解与使用缓冲区资源(结构化缓冲区/有类型缓冲区) Vis ...

最新文章

  1. VIM 必知必会12大类型操作
  2. 使用指针输入输出一维数组
  3. [Contest20180316]Mythological IV
  4. 关于fragment
  5. nginx 学习笔记(2) nginx新手入门
  6. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门
  7. shadow ssdt学习笔记
  8. ITK:计算PCA形状模型
  9. 还在自建代码仓库?阿里云的这款企业级代码管理工具免费、还香!
  10. 20应用统计考研复试要点(part11)--应用多元分析
  11. git 删除已add的文件夹_如何删除还没有被add到git的文件(git clean的用法)
  12. nginx php7提速,nginx+php7-fpm 性能提升几倍跟踪实践结果并优化
  13. C++ 序列化和反序列化学习
  14. python请输出如下图形的程序_编写一个python程序,输出如下图形效果。
  15. Hadoop学习笔记—16.Pig框架学习
  16. 还可以这样玩?揭秘打通线上线下新思路
  17. CSS3_线性渐变(linear-gradient)+ 盒子阴影(box-shadow)
  18. STM32国产替代,再来一波
  19. 电路设计_继电器的电磁干扰
  20. directadmin php5.6,directadmin教程

热门文章

  1. 将港中文建成中国计算机视觉黄埔军校的人!
  2. 为什么说vue没有完全遵循mvvm
  3. python%是什么意思_%在Python中是什么意思?
  4. 利用计算机进行有理数的运算教学反思,有理数乘法分配律教学反思
  5. 最后一篇美国回忆-终结篇
  6. 远行星号java 出错_远行星号跳出问题[已解决]
  7. “伊”心一意研技术,“伊”丝不苟做服务。Electropure EDI 成功参展第12届上海国际水展
  8. 使用 Nginx 搭建多平台直播
  9. 简单版数独计算器-升级版
  10. 杜撰——深圳市贝力公司电子商务方案