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

龙岩做网站开发找哪家百度提交wordpress

龙岩做网站开发找哪家,百度提交wordpress,青岛网站排名,高端猎头公司排名快速幂我的理解就是,把特别大的指数部分,给进行拆解,比如下边的5^11次方,那么这个指数11 1 2 8,即11 2^3 2^1 2^0,所以5^11 5^(2^3) * 5^(2^1) * 5^(2^0),看到这相信就能联想到二进制数了…

         快速幂我的理解就是,把特别大的指数部分,给进行拆解,比如下边的5^11次方,那么这个指数11 = 1 + 2 + 8,即11 = 2^3 + 2^1 + 2^0,所以5^11 = 5^(2^3) * 5^(2^1) * 5^(2^0),看到这相信就能联想到二进制数了,那么这个二进制数是谁转换过来的?很显然十进制11就等于二进制的1011,很显然,11 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0。

        所以我们就需要两个变量来帮助我们存一下5的2的那个几次方这个整体,还有前边的系数乘的是1还是0。

        假设我们用ans来存前边乘的系数0或1,用累乘来表示5的2的那个几次方这个整体。

        然后,我们就以下边代码中的5^11为例:

                首先我们令系数ans = 1,如果我们的指数b>0,我们就进入循环,去判断b的二进制末尾是否为1,为1的话,就说明可以拆解这个地方,第一次进来我们直接用ans * a,然后我们再把a * a,这里就相当于提前算好了5的多少次方,然后我们将指数b除2,即右移一位。再次判断b是否大于0,大于零再进入循环,判断b的末位是否为1,为1就让ans*a,在该题中,此时的ans*=a已经等于125了,因为第一次进来ans=1,a=5,所以ans*=a为5,出了if,a*=a,a又变成了25,再次进入if时,就成了ans = ans * a = 5 * 25 = 125了。如果不满足这个if条件,我们就不让ans*a,即相当于前边的系数为0,但是我们a该乘a还是得乘,b该右移还是得右移。

        最终返回ans就是快速幂的结果,即a^b。

    public static long powMod(long a, long b) {// a 底数// b 指数// ans 结果// 5 ^ 11 = 5 ^ 1 * 5 ^ 2 * 5 ^ 8// ans 就是最开始的 5 ^ 1里面的 1// 如果第一次进去,就乘一个a// 第二次进去,如果最后一位为1,就相当于乘了2个along ans = 1;while (b > 0) {if ((b & 1) == 1) { // 循环右移直到b为0ans *= a;}a *= a;b >>= 1;    // 循环右移}return ans;}

http://www.dtcms.com/a/555658.html

相关文章:

  • 网络营销软件网站网站底部设计源码
  • 电子商务查询网站网站设计是干什么的
  • 深圳网站建设推广优化公司山网站建设
  • 外国网站签到做任务每月挣钱微网站建设 合同
  • 重庆渝中区企业网站建设哪家专业东莞优化网站建设
  • 在网站上怎么做招聘信息查询类网站怎么做
  • 网站建设与管理培训方案如何自建网站
  • 网站开发需求图云南企业网站建设
  • 纵横网站建立wordpress技术博客
  • 套版网站怎么做郑州好的网站建站
  • 在哪个网站找地理题做工作 网站建设内容
  • 网站建设 验证码四川省住房建设厅官方网站
  • 各大知名网站开发语言佛山 做网站公司
  • 品牌营销网站12380网站的建设情况
  • 网站建设 技术协议wordpress wp list categories
  • OpenAI Codex Codex CLI 国内使用教程:手把手教你安装与上手
  • 国内做网站群平台的公司重庆专业的网站建设
  • 网站建设毕业设计个人总结企业网站的建立步骤
  • word模板免费网站哪些人可以做网站
  • 星宿网站建设免费流程图制作网站
  • wordpress引用图片样式网站内部优化的方法
  • 百度收录什么网站重庆网站建设 观音桥
  • 浅谈海尔的电子商务网站建设永久免费内存大服务器
  • 烟台学校网站建设系统客户管理软件
  • 网站建设的软硬件平台网站配色风格有哪些
  • 南京网站建设培训班手表网站排名大全
  • 石家庄站到石家庄北站上海品牌策划公司有哪些
  • 沂源网站设计免费下载微信小程序
  • 操作系统基础·2 操作系统的运行环境和运行机制
  • 网站设计所需软件广西南宁网站公司