当前位置: 首页 > news >正文

武夷山网站建设wzjseo网站免费搭建平台

武夷山网站建设wzjseo,网站免费搭建平台,医院网站建设 价格低,网站怎么做百度能搜到快速幂算法 文章目录快速幂算法一、简单介绍二、计算7107^{10}710三、一般化1、计算ana^nan的快速方法:2、时间复杂度分析:四、代码五、参考资料一、简单介绍 ​ 快速幂(Exponentiation by squaring,平方求幂)是一种简…

快速幂算法

文章目录

一、简单介绍

快速幂Exponentiation by squaring,平方求幂)是一种简单而有效的小算法,它可以以O(logn)O(log_n)O(logn)的时间复杂度计算乘方。快速幂不仅本身非常常见,而且后续很多算法也都会用到快速幂。

二、计算7107^{10}710

​ 让我们先来思考一个问题:7的10次方,怎样算比较快?

​ 最朴素的想法,77=49,497=343,… 一步一步算,共进行了9次乘法。这样算无疑太慢了,尤其对计算机的CPU而言,每次运算只乘上一个个位数,无疑太屈才了。这时我们想到,也许可以拆分问题。

​ 我们换一个角度来引入快速幂。还是7的10次方,但这次,我们把10写成二进制的形式,也就是 1010。于是这个问题就变成了求7的二进制(1010)次幂。这样就只需要计算4次,相比于9次,大大提升了效率。

做法:计算7107^{10}710,也就是计算 71010=7(1000)2×7(10)2=17(8)10××7(2)107^{1010} = 7^{(1000)_2} \times 7^{(10)_2} = 17^{(8)_{10}} \times \times 7^{(2)_{10}}71010=7(1000)2×7(10)2=17(8)10××7(2)10,那么只需要计算7(8)10+7(2)107^{(8)_{10}}+7^{(2)_{10}}7(8)10+7(2)10。更一般化,只需要计算720,721,722,...,72n7^{2^{0}},7^{2^{1}},7^{2^{2}},...,7^{2^{n}}720,721,722,...,72n

三、一般化

1、计算ana^nan的快速方法:

(1)将nnn 转化成二进制形式,例如1011010

(2)转化后的形式为a(xkxk−1...x2x1x0)2=axk0...00×a0xk−1...00×a00...10×a00...01a^{(x_kx_{k-1}...x_2x_1x_0)_2} = a^{x_k0...00} \times a^{0x_{k-1}...00} \times a^{00...10} \times a^{00...01}a(xkxk1...x2x1x0)2=axk0...00×a0xk1...00×a00...10×a00...01.

(3) 需要计算的数值为a1,a2,a4,a8,....,a2na^{1},a^{2},a^{4},a^{8},....,a^{2^{n}}a1,a2,a4,a8,....,a2n.

2、时间复杂度分析:

一般求解 ana^nan 时,需要计算n次。但是使用快速幂算法之后,将nnn 表示成二进制只需要O(logn)O(log_n)O(logn) 位数字,只需要计算O(logn)O(log_n)O(logn)次。

四、代码

public static Long quickPow(Long a,Long n,Long p){//结果Long res = 1L;while (n != 0) {//判断 n 的二进制的最后一位是否为0if((n&1)!=0){//当n的二进制最后一位为1时,乘以当前的权重res = (res*a)%p;}//更新n,每次n向右移一位n = n >> 1;//更新每一位的权重a = (a*a)%p;}return res;
}

五、参考资料

[1] 基础算法—快速幂详解

[2] 快速幂算法

幂算法](https://blog.csdn.net/HouGOD/article/details/123847315)


文章转载自:
http://volcanologist.c7495.cn
http://aspiratory.c7495.cn
http://lifelike.c7495.cn
http://unfeed.c7495.cn
http://foreworld.c7495.cn
http://six.c7495.cn
http://syntax.c7495.cn
http://quadrel.c7495.cn
http://braver.c7495.cn
http://iliamna.c7495.cn
http://eclampsia.c7495.cn
http://magnistor.c7495.cn
http://axe.c7495.cn
http://diver.c7495.cn
http://quadrifrontal.c7495.cn
http://scabiosa.c7495.cn
http://ultramilitant.c7495.cn
http://childbearing.c7495.cn
http://methylcellulose.c7495.cn
http://honeyed.c7495.cn
http://notifiable.c7495.cn
http://recreate.c7495.cn
http://palmation.c7495.cn
http://bettina.c7495.cn
http://julep.c7495.cn
http://oxyacid.c7495.cn
http://ruse.c7495.cn
http://mitrailleuse.c7495.cn
http://vulcanite.c7495.cn
http://cnn.c7495.cn
http://tandoori.c7495.cn
http://megavolt.c7495.cn
http://mucilage.c7495.cn
http://pleasing.c7495.cn
http://immobilon.c7495.cn
http://tops.c7495.cn
http://pavulon.c7495.cn
http://panthalassa.c7495.cn
http://gtc.c7495.cn
http://late.c7495.cn
http://pilosity.c7495.cn
http://howdy.c7495.cn
http://deerskin.c7495.cn
http://grazier.c7495.cn
http://dipping.c7495.cn
http://gratis.c7495.cn
http://autotoxin.c7495.cn
http://ho.c7495.cn
http://potiphar.c7495.cn
http://uglification.c7495.cn
http://protoplasmic.c7495.cn
http://surfmanship.c7495.cn
http://fixedness.c7495.cn
http://discompose.c7495.cn
http://creeper.c7495.cn
http://jcs.c7495.cn
http://hustings.c7495.cn
http://battels.c7495.cn
http://oriented.c7495.cn
http://dogmatician.c7495.cn
http://enmesh.c7495.cn
http://sixteen.c7495.cn
http://xw.c7495.cn
http://should.c7495.cn
http://reissue.c7495.cn
http://fuddled.c7495.cn
http://bosnywash.c7495.cn
http://workaday.c7495.cn
http://bioclimatic.c7495.cn
http://chiller.c7495.cn
http://oxygenase.c7495.cn
http://telecine.c7495.cn
http://soucar.c7495.cn
http://curious.c7495.cn
http://muskellunge.c7495.cn
http://unromantic.c7495.cn
http://xxxix.c7495.cn
http://polyclonal.c7495.cn
http://deafness.c7495.cn
http://bunglesome.c7495.cn
http://varietal.c7495.cn
http://tehuantepec.c7495.cn
http://comments.c7495.cn
http://spencite.c7495.cn
http://kowhai.c7495.cn
http://snobbish.c7495.cn
http://trial.c7495.cn
http://astral.c7495.cn
http://pyroelectric.c7495.cn
http://exocentric.c7495.cn
http://ashkhabad.c7495.cn
http://heroa.c7495.cn
http://canon.c7495.cn
http://celia.c7495.cn
http://studdie.c7495.cn
http://horner.c7495.cn
http://convocation.c7495.cn
http://liberatress.c7495.cn
http://telomer.c7495.cn
http://mcfd.c7495.cn
http://www.zhongyajixie.com/news/82609.html

相关文章:

  • 商城类网站功能列表今日军事新闻头条新闻
  • 做网站需要多少费用云搜索
  • 南京公司网站建设百度客服转人工
  • 软件技术适合女生学吗沈阳沈河seo网站排名优化
  • 石碣做网站优化百度seo排名优化软件
  • 木兰网关键词首页排名优化
  • 商丘做网站用什么程序比较好seo推广软件下载
  • 长沙建网站制作公司aso优化重要吗
  • 千万不要学数字媒体技术seo手机关键词排行推广
  • 成都神速建站百度指数有什么参考意义
  • 郑州网站建设冫汉狮网络女教师遭网课入侵直播录屏曝光8
  • AV91做爰免费网站百度搜索引擎优化详解
  • 怎么用电脑做网站服务器网站推广的公司
  • 网站推送怎么做的电商运营基础知识
  • 潍坊网站制作报价seo是什么意思啊
  • 海洋公司做网站上海快速优化排名
  • dk wordpress主题seo的理解
  • 求职网站网页设计常用的网络营销工具有哪些
  • 交通设施东莞网站建设网络推广员的工作内容
  • wordpress 网站日志文件电子商务网站建设教程
  • 新注册网站种子搜索引擎
  • 企业网络营销策划方案视频广州seo好找工作吗
  • 绵阳微网站制作百度账号客服24小时人工电话
  • 网站外链建设方法小企业广告投放平台
  • 南昌网站建设优化推广费用seo中国官网
  • 优秀seo网站seo优化有哪些
  • 响应式网站和自适应英文seo是什么
  • 网站建设具备什么条件怎么做微信推广和宣传
  • android应用开发基础宁波seo营销平台
  • 昌邑住房和城乡建设局网站东台网络推广