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

<个人笔记>数论

1.快速幂

(1)求解问题

给定 n组 ai,bi,pi求 aibi mod pi 的值。

(2)主要思想:任何一个数(b),可以被 n 个 2k 相加获得。
即 b= 2k1 + 2k2 + 2k3 + … + 2logb

快速幂模板:

typedef long long LL;LL qmi(int a,int b,int p){LL res = 1;while(b){if(b & 1) res = res * a % p;a = a * (LL)a % p;b >>= 1;}return res;
}

逆元

(1)求解问题:对于a / b mod p的值:

将除法改为乘法; 例如 求 (A / B) %p ;在B的值非常大的情况下,B作为除数,极有可能会爆精度;除数不能太大;所以我们可以把他转化为乘法来解决;

(2)主要思想
费马小定理:对于bp-1(mod p) = 1 恒成立。且 逆元:b * b-1 = 1 (mod p)
所以 b 的逆元 b-1 为 bp-2.
可以用快速幂来求:

b^-1^ = qmi(b,p-2,p);
http://www.lryc.cn/news/318510.html

相关文章:

  • CMS垃圾收集
  • Incorrect DECIMAL value: ‘0‘ for column ‘‘ at row -1
  • Vue3组件通信的方式
  • 双场板功率型GaN HEMT中用于精确开关行为的电容建模
  • UE4_AI_行为树_行为树快速入门指南
  • c++ 面试100个题目中的编程题目
  • C++初阶:类与对象(尾篇)
  • Spring状态机简单实现
  • WebServer -- 面试题(下)
  • 企业微信如何接入第三方应用?
  • JAVA后端编码的主键字段存储为什么倾向于使用雪花算法
  • Rust 深度学习库 Burn
  • C语言-存储期2.0
  • 计算机网络面经八股-HTTP请求报文和响应报文的格式?
  • Ubuntu 18.04安装最新版Visual Studio Code(VS Code)报依赖库版本过低错误
  • Android NDK入门:在应用中加入C和C++的力量
  • 2024年华为OD机试真题-田忌赛马-Java-OD统一考试(C卷)
  • C++ 网络编程学习五
  • 案例分析篇05:数据库设计相关28个考点(9~16)(2024年软考高级系统架构设计师冲刺知识点总结系列文章)
  • pip 和conda 更换镜像源介绍
  • Git概述及安装步骤
  • 北京保险服务中心携手镜舟科技,助推新能源车险市场规范化
  • 给女朋友的浪漫微信消息推送超详细版
  • Android开发 Activity启动模式、ViewModel与LiveData,及Kotlin Coroutines
  • MQL语言实现抽象工厂模式
  • UE4开个头-简易小汽车
  • Java基础入门day04
  • 中值定理j
  • 第2篇【Docker项目实战】使用Docker部署Raneto知识库平台(转载)
  • 【Javascript】 Promise 对象(二)