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

邢台做网站邮箱/东莞网络营销平台

邢台做网站邮箱,东莞网络营销平台,如何建造免费的网站,面包店网站建设规划书看了各种前辈写的东西后自己做的一个总结。既然叫快速幂,那就是比平常方法算来的要来的快,拿2^11来说,普通方法我们要算10遍,即第1次我们要算a2*2;第二次算a*2;......直到第10次a2*2*2*2*2*2*2*2*2*2*2;而这个快速幂呢…

     看了各种前辈写的东西后自己做的一个总结。既然叫快速幂,那就是比平常方法算来的要来的快,拿2^11来说,普通方法我们要算10遍,即第1次我们要算a=2*2;第二次算a*2;......直到第10次a=2*2*2*2*2*2*2*2*2*2*2;而这个快速幂呢,我们只需要把指数11拆分成二进制,11=2^3+2^1+2^0;只需算3遍,提高了效率。

   我们还需要分情况,判断指数是奇数的情况与是偶数的情况。

   当指数是奇数的情况:a^b=a*a^(b-1)=a*a^[(b-1)/2]^2依次往下,举个栗子:2^5=2*2^4=2*(2^2)^2;

   当指数是偶数的情况:a^b=a^(b/2)^2=(a^2)^(b/2)依次往下,再举个栗子:2^6=(2^3)^2=(2^2)^2*2;

                             若为偶数,则将指数b除以2,再整体平方,然后b/2可能是奇数,可能是偶数,如果是奇数和下列是奇数的方法相同,如果是偶数就不断重复/2即可。a*=a;

                              若为奇数,则先提出来一个a,先把它存入ans中,写出来即是ans*=a;

 

这里的b&1判断b是奇数(这里b是二进制)因为在二进制中最后一位数如果是0就是偶数,是1就是奇数。

如果b(指数)是奇数就先将一个底数放入ans中,提出来一个底数后剩下部分的指数就是偶数就a=a*a;如果b为偶数就跳过判断直接a=a*a;

然后这里的b>>=1,就是让b的二进制去掉最后一位,然后前面补0

如果看到这里还不明白┑( ̄Д  ̄)┍附上一个栗子:比如求2^11。

a=2,b=11.

①11的二进制是1011.b=1011,最后一位为1,是奇数。ans=1*2;  a=2*2=2^2. b=0101.

②b=0101,为奇,ans=2*(2*2)=2^3;  a=2^2*2^2=2^4. b=0010.

③b=0010,为偶,ans不变还是2^3,a=2^4*2^4=2^8.b=0001.

④b=0001,为奇,ans=2^3*2^8=2^11.a=2^8*2^8=2^16.b=0000.跳出循环return ans=2^11.

http://www.jmfq.cn/news/5206537.html

相关文章:

  • 一级a做片性视频.网站在线观看/西安seo
  • 网站设计优秀作品/快速网站推广公司
  • 西安专业做网站/做网站的费用
  • 电子商务网站建设新闻/建站系统
  • 哈尔滨网站建设排行/西安自助建站
  • 山东政务网站建设/站长统计 网站统计
  • 有什么样的网站开发/十大免费软文推广平台
  • 映射做网站/2022年最火文案
  • 做购物网站赚钱吗/站长联盟
  • 网站建设互联网 政府系统/百度关键词搜索次数
  • 网站说建设中/百度关键词推广方案
  • 怎么做交易平台网站/谷歌站长平台
  • 做招聘网站需要什么资质/广告推广平台网站
  • 新闻播报最新/优化设计答案五年级上册
  • 网站名称与主办单位/厦门百度快速优化排名
  • 自己如何做外贸公司网站/知道百度
  • 网站地图导出怎么做/网页优化seo公司
  • 买个域名自己做网站吗/如何免费做视频二维码永久
  • 代理登录网站/爱站关键词挖掘查询工具
  • 企业seo顾问公司/深圳关键词优化公司哪家好
  • 武汉汉口做网站公司/网络营销培训机构
  • 做会员卡的网站在线制作/seo搜索引擎专员
  • 网站建设项目的工作分解/网络营销的工具和方法
  • 硬盘做网站空间/网站推广优化教程
  • 在线网站开发/博客推广的方法与技巧
  • 深圳市手机网站建设/北京seo排名优化网站
  • 北京网站建设求职简历/大一网页设计作业成品
  • 西安网站开发建/谷歌推广平台
  • wordpress十大表格插件/衡阳seo快速排名
  • 南山商城网站建设/长尾关键词爱站网