首页 > 其他分享 >快速幂计算

快速幂计算

时间:2024-07-23 17:26:23浏览次数:9  
标签:运算 二进制 代码 每次 相乘 计算 快速

快速幂计算

学习地址:https://www.bilibili.com/video/BV16Z4y1M7y1/?spm_id_from=333.337.search-card.all.click&vd_source=fd479576740a013e7a8e2c54b5c901eb
快速幂的基本思想:求a的n次方,把a的二进制数,每个为1的位的数加起来,如下图所示:
在这里插入图片描述
代码过程:先初始化结果r,每次判断二进制末位是不是1,是的话将结果和a相乘,每次循环都将a和a相乘,然后将n除2向下取整,也就是将二进制数右移1位。
在这里插入图片描述
加上取模运算的代码:
在这里插入图片描述
例题:
2961. 双模幂运算

标签:运算,二进制,代码,每次,相乘,计算,快速
From: https://blog.csdn.net/weixin_44714674/article/details/140631277

相关文章

  • 【java计算机毕设】在线教学平台MySQL springboot vue HTML maven小组设计项目源代码+
    目录1项目功能2项目介绍3项目地址1项目功能【java计算机毕设】在线教学平台MySQLspringbootvueHTMLmaven小组设计项目源代码+文档寒暑假作业 2项目介绍系统功能:在线教学平台包括管理员、用户、教师三种角色。管理员功能包括个人中心模块用于修改个人信息......
  • Windows NodeJS 版本管理工具 Fnm 快速使用
    WindowsNode.JS版本管理工具Fnm快速使用简介:FastandsimpleNode.jsversionmanager,builtinRust(快速而简单的Node.js版本管理器,用Rust构建)目录Windows下载与安装Windows使用-修改默认安装根目录Windows使用-配置CMD或PowerShellWindows使用-安装Node......
  • 16.8k star 的项目!帮助你快速清理重复文件。
    笔记本使用了好多年,硬盘里的文件越来越多。尤其是经常有一些重复的文件散落在系统的各个角落,不好找,也很占据空间。今天就给大家介绍一款好用的开源工具,帮助你简单快速的清理电脑里的重复文件——Czkawka。项目简介Czkawka是一款简单、快速、免费的多功能重复文件清理工具......
  • 三种语言实现计算逆序对的数量(C++/Python/Java)
    题目给定一个长度为......
  • 计算机组成实验——运算器的设计
    要求采用原理图输入方式设计顶层文件,实现ALU与寄存器组的集成。将8位ALU和寄存器组设计文件分别进行编译,将ALU和寄存器组设计文件生成两个模块符号。新建一个原理图设计文件,调入ALU和寄存器组的符号模块,把这两个模块进行连接,加上输入端和输出端,实现二者的集成。ALU......
  • PyTorch-现代计算机视觉第二版-二-
    PyTorch现代计算机视觉第二版(二)原文:zh.annas-archive.org/md5/355d709877e6e04dc1540c8ccd0b447d译者:飞龙协议:CCBY-NC-SA4.0第十七章:稳定扩散的应用在前一章中,我们学习了扩散模型的工作原理、稳定扩散的架构以及扩散器-这个库。虽然我们已经了解了生成图像(无条件和条......
  • 计算机网络重点知识
    TCP/IP五层模型OSI将计算机网络体系结构(architecture)划分为以下七层:物理层:在媒介上传输比特流;提供机械的和电气的规约数据链路层:将分组数据封装为帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测网络层:定义逻辑地址;实现数据从源到目的地的转......
  • IT实战课堂计算机毕业设计源码精品基于springboot的线上辅导班系统的开发与设计
    项目功能简介:《[含文档+PPT+源码等]精品基于springboot的线上辅导班系统的开发与设计[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!软件开发环境及开......
  • 美团面试:如何计算一个对象在内存中占多少个字节?
    在分配对象的时候会有一些基本的规则,我们可以根据一些规则大致能判断出来对象大小。在HotspotVM中,对象在内存中的存储布局分为三个区域:对象头(Header)实例数据(InstanceData)对齐填充(Padding)对象头(Header)对象头包括以下三部分:MarkWord:用于存储对象运行时的数据,例如Has......
  • 微信小程序 - 最新详细实现 “餐厅食堂外卖点餐“ 全屏左右联动菜单列表功能界面,附带
    前言如果您需要“简约通用”的左右联动功能,请访问这篇文章。在微信小程序开发中,详解实现仿饿了么、美团外卖用户点餐左右联动界面,全屏适配左边菜单分类右侧商品菜单列表数据,顶部是搜索栏可搜索定位对应锚点位置及商品,左侧导航菜单点击时右侧商品跟着变化,反之列表滑动......