取余运算

x % u 等价于 x - floor(x/u) * u

算术求模 mod(x, u)

x mod u 等价于 ((x % u) + x) % x

a = b x q + r (只要b>0b > 0b>0, 必有r≥0r\ge0r≥0 )

一个较大的数m与一个较小的数n求mod(m,n)

限制: m >>> INT_MAX, n ≤\le≤ INT_MAX
利用秦九韶公式写法进行思考, 123=((0∗10+1)+2)∗10)+3)∗10123 = ((0 * 10 + 1) + 2) * 10) + 3) * 10123=((0∗10+1)+2)∗10)+3)∗10

int mod(const string& m, int n) {int last = 0;int ans  = 0;for (int i = 0; i != m.size(); ++i) {ans = (last * 10 + (m[i] - '0')) % n;last = ans;}return ans;
}

幂求模 mod(an,n)mod(a^n, n)mod(an,n)

思路: 取模的等价运算, 即 (a∗b)%n(a*b) \% n(a∗b)%n 等价 (a%10)∗(b%10)(a \% 10)*(b \% 10)(a%10)∗(b%10)

int mod(int a, int n, int m) {int ans = 1;for (int i = 0; i != n; ++i) {ans = (ans * a) % m;}return ans;
}

引入快速幂运算

int mod(int a, int n, int m) {if (n == 0) return 1;int tmp = mod(a, n / 2, m);tmp = (tmp * tmp) % m;if (n & 1) return (tmp * a) % m;return tmp;
}

迭代版本:

int mod(int a, int n, int m) {int ans  = 1;int base = a;for (int i = n; i > 0; i /= 2) {if (i & 1) ans = (ans * base) % m;base = (base * base) % m;}return ans;
}

大数求mod

mod运算的实现以及相关算法相关推荐

  1. GIMPS梅森素数搜寻及相关算法综述

    GIMPS梅森素数搜寻及相关算法综述 1. 梅森素数简介 2. GIMPS 项目 3. 卢卡斯-莱默测验 1. 梅森素数简介 梅森数是指形如 2n−1{\displaystyle 2^{n}-1}2n ...

  2. 模幂运算问题,使用朴素算法和重复-平方算法(快速幂+C#计算程序运行时间)

    1.什么是模幂运算问题 给出a, k, mod 计算ak(%mod)a^k (\%mod)ak(%mod)的值 k是一个非常大的正整数(超过1e7) 附,一个可以提交的地方: leetcode 372 ...

  3. 语音识别之前端处理及相关算法

    前言 语音识别是模式识别的一个分支,又从属于信号处理科学领域,同时与语音学.语言学.数理统计及神经生物学等学科有非常密切的关系.语音识别的目的就是让机器"听懂"人类口述的语言,包括 ...

  4. 关键词提取-论文研读-betweenness centrality相关算法(2)

    项目实训记录系列博客 一马当先,争做国家栋梁. 博客说明 本博客初衷是用于学校项目实训知识梳理.工作内容.收获感悟的记录. 若能在您的学习之路上有所帮助,不胜荣幸.但若需转载,也请注明出处. 博客包含 ...

  5. jvm学习第十、十一天、十二天—垃圾回收器1、垃圾回收的相关概述2、 垃圾回收相关算法3、 垃圾回收器

    标题:jvm学习第十.十一天.十二天-垃圾回收器 学习内容: 1.垃圾回收的相关概述 2. 垃圾回收相关算法 3. 垃圾回收器 内容详情: 1.垃圾回收的相关概述 什么是垃圾( Garbage)? 垃 ...

  6. 盘点十大GIS相关算法

    1.道格拉斯-普克算法(Douglas–Peucker) 道格拉斯-普克算法(Douglas–Peucker algorithm,亦称为拉默-道格拉斯-普克算法.迭代适应点算法.分裂与合并算法)是将曲 ...

  7. 基于Matlab的Vander Lugt相关算法车牌汉字识别系统

    一.引言 光学图像识别技术是一种有较高鉴别率的技术,具有高度并行性.容量大.速度快的特点,特別适用于信息的快速和实时处理.光学相关是光学模式识别中的一种主要方法.无论是空间匹配滤波相关或是联合变换相关 ...

  8. 推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

    搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...

  9. 求模(mod)运算的应用

    1.mod运算的性质 结合律 ((a+b) mod p + c)mod p = (a + (b+c) mod p) mod p ((a*b) mod p * c)mod p = (a * (b*c) ...

最新文章

  1. 3.4.4 选择重传协议(SR)
  2. 凸包Graham Scan算法实现
  3. Spring Cloud Config git版
  4. HALCON示例程序vessel.hdev血管的分割与测量
  5. 学术造假?撤销职称!不端“黑历史”将影响未来评审
  6. linux网络是文件吗,linux网络配置文件是什么意思
  7. HCIE Security 防火墙NAT技术 备考笔记(幕布)
  8. macOS多版本虚拟机镜像免费下载(及教程)
  9. Small Basic 语言 学习笔记
  10. 华为前线核心组织“铁三角”是如何运作的?营销LTC变革与“铁三角”啥关系?--LTC专家许浩明老师分享
  11. 宇枫资本如何挑选靠谱理财平台
  12. echarts-横坐标文字竖着显示和倾斜45度显示
  13. window10 pl2303驱动解决
  14. vertica MySQL_MySQL数据库之Vertica数据库的用法
  15. C++ 多种取整函数的使用和区别: ceil() floor() round() trunc() rint() nearbyint()
  16. 计算机网络之面试常考
  17. LINUX 指令学习
  18. 跨考计算机复试自我介绍,复试之自我介绍_跨考网
  19. mysql有什么不同_mysql 和 mysql2 有什么不一样
  20. 实现shiro-remember功能

热门文章

  1. sizeof和数组的关系
  2. ceres实现鱼眼相机模型bundle adjustment
  3. win7 update
  4. Android 实现息屏和唤醒
  5. 一般一个电脑有几个网卡,分别是什么网卡
  6. 【机器学习】关于注意力模型(Attention-model)的理解和应用
  7. 我在香港的公司学到什么
  8. BZOJ 1022 SHOI2008 小约翰的游戏John 博弈论
  9. linux string和wstring的转化
  10. 引诱恶性循环的互联网兼职项目