首页 > 其他分享 >数论----快速幂

数论----快速幂

时间:2022-08-15 20:00:44浏览次数:51  
标签:数论 res ---- int 1LL mul 快速 mod

 

 算法:

 

 1 int qmi(int a, int b, int mod)
 2 {
 3     //答案
 4     int res = 1;
 5     //乘数
 6     int mul = a;
 7     while (b)
 8     {
 9         //在二进制下b的第0位是否是1
10         //是1则要乘,否则不要
11         if (b & 1)
12             res = res * 1LL * mul % mod;
13         mul = mul * 1LL * mul % mod;
14         b = b >> 1;
15     }
16     return res;
17 }

 

原理:

《应用》

比如当n为1e9,单纯地使用快速幂还不够,还有用二分递归:

 

标签:数论,res,----,int,1LL,mul,快速,mod
From: https://www.cnblogs.com/cilinmengye/p/16589450.html

相关文章

  • 【git】git切换仓库
    目录方法一、修改本地仓库地址方法二、通过命令先删除再添加远程仓库方法三、修改配置文件方法一、修改本地仓库地址#进入项目根目录gitremoteset-urlorigin[url]......
  • Eureka 服务注册
    1、在pom.yml文件中引入Eureka-client的服务依赖<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-......
  • connect (2)
    Anelectricalconnectorisanelectromechanicaldeviceusedtojoinelectricalconductorsandcreateanelectricalcircuit.Mostelectricalconnectorshaveag......
  • 一文看懂线性回归和非线性回归
    一文看懂线性回归和非线性回归           1.非线性回归           2.线性回归           3.总结1.非线性回归我们首先来看维基百......
  • Cypress自动化测试框架安装与部署
    安装与部署一、npm方式安装:1)安装Node.js   在Node.js官方网站https://nodejs.org/en/直接下载Node.js并双击安装2)设置环境变量,把node.exe所在的目录加入到PATH环境......
  • MySQL的字段语法
    MySQL的存储字符编码与配置文件1.\s#查看数据库基本信息(用户、字符编码)2.my-default.ini#windows下MySQL默认的配置文件拷贝上述文件并重命名为my.ini3.添......
  • 知识回顾(持续更新)
    1.this的目的是:this关键字用来表示当前对象本身,或当前类的一个实例,通过this可以调用本对象的所有方法和属性。成员变量与方法内部的变量重名时,希望在方法内部调用成员......
  • 操作系统学习笔记2 | 操作系统接口
    这部分将讲解上层应用软件如何与操作系统交互,理解操作系统到底发生了什么事情,理解操作系统工作原理,为以后扩充操作系统、设计操作系统铺垫。参考资料:课程:哈工大操作系......
  • 一个非常简单用.NET操作RabbitMQ的方法
    RabbitMQ作为一款主流的消息队列工具早已广受欢迎。相比于其它的MQ工具,RabbitMQ支持的语言更多、功能更完善。 本文提供一种市面上最/极简单的使用RabbitMQ的方式(支持.N......
  • 洛谷P1714切蛋糕题解
    P1714切蛋糕题目描述今天是小Z的生日,同学们为他带来了一块蛋糕。这块蛋糕是一个长方体,被用不同色彩分成了\(n\)个相同的小块,每小块都有对应的幸运值。小Z作......