有一类题目会因为求出的结果太大而只要求输出对某个数m取余后的结果,而且这个m是比较小的数,比如不超过32位整数…

而这类大数都是可以由较小的数经过某些运算得到的…

于是我整理了一下对付几种运算的方法…包括四则运算,指数,组合数,塔函数的应对方法…

那么就开始吧…慢慢来…

首先是最常识的加减法:

add_mod(a,b,m){ return ((a%m)+(b%m))%m; }

别小看加法哦…很多用dp解的题目中靠着加法可是能达到很大的数呢…

minus_mod(a,b,m){ return (a-b+m)%m; }

减法…会遇到吗?

接着是依然很简单的乘法:

multiply_mod(a,b,m){ return ((a%m)*(b%m))%m; }

这是当m*m不会溢出时可以用的,同时也是通常的情况…

但是如果m*m连long long都会溢出的话…就需要把一个数一位位拆开来做了…

multiply_mod(a,b,m){ if(b==0)return 0; return (((b&1)?a:0)+(multiply_mod(a,b>>1,m)<<1)%m)%m; }

然后是除法,但有点限制:

(a/b)%m

特殊条件:m和b互质

前提:a能被b整除

这个有点特殊,意为虽然不知道a是多少,但是已知c,而且c=a%m,用c和b来求(a/b)%m的方法

虽然需要m和b互质,但是不互质的话也是可以做的,因为a也一定是gcd(b,m)的倍数,具体可以看看这里

需要用到扩展欧几里德来求…

至于扩展欧几里德是什么…去Google一下吧…

extend_euclid(a,b,&x0,&y0){ if(b==0)

0对任何数取余_大数取余相关推荐

  1. 取文字_玉镯取不出来了怎么办?教你6种最有效的方法

    也不知道是年龄到了,还是传统的文化根深蒂固,最近看到翡翠手镯都特别想入手,可惜平常磕磕碰碰的时候多,还是戴金饰比较靠谱~ 想必许多粉丝也和DD一样看到好看的镯子就走不动道吧? 不过呢,在佩戴玉镯的过程 ...

  2. 向上取整函数_向上取整函数ROUNDUP在BOM表里面的实际应用

    电子制造行业的Purchase.PMC等岗位从业人员在工作中都会遇到根椐SPQ/MOQ计算采购量的问题.例如:需求贴片电阻6K,贴片电阻SPQ/MOQ是5K,请问需要采购多少数量的贴片电阻? 通常的做 ...

  3. excel抓取数据_抓取具有要求的excel在线只读文件

    excel抓取数据 In a previous article https://medium.com/@hanqi_47643/scraping-excel-online-read-only-file ...

  4. java %取余数_计算机取余数java

    Hash Table(哈希表)就是根据对象的特征进行定位的一种数据结构.一个简单的实现方法是将对象通过某种运算得到一个整数,再让这个整数除以哈希表的大小,取其余数,以此作为对象的存储位置. 很多的书上 ...

  5. python的整数取反_整数取反 - yunduoyun - 博客园

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1].请根据这个假设,如 ...

  6. python快递代取系统_代取快递的变现方式,校园跑腿的经营范围有多大?

    原标题:代取快递的变现方式,校园跑腿的经营范围有多大? 进入大学,随着越来越多的学生加入到网购的行列.快递在学校也是堆积成山,高校校园快递市场也日渐红火.但往往带来的也有更多的麻烦,学生取快递时间变长 ...

  7. java对rgb取反_颜色取反 rgb COLORREF | 学步园

    编码时遇到下面问题 背景颜色和前景颜色需要取反 COLORREF m_clr[5]; //背景颜色 m_listPD.SetItemData(nCount,m_clr[nUltraOrder]); / ...

  8. python取反函数_编程语言取反函数

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. java抓取工具_抓取工具Web-Harvest - dayang2001911 - JavaEye技术网站

    Overview 总览 This section describes the motive, the notions and concepts used in Web-Harvest. 本章描述了在W ...

最新文章

  1. Matlab编程与数据类型 -- 数据类型概述
  2. python与R行列数据过滤(row column filtering):dplyr、 isnull、isna、drop、select、iloc、loc、isin、filter
  3. 多线程随机数组生成+双线程快速排序(C++实现)(0.2秒排100W个数字)
  4. c语言prog.c: in function 'main':,C语言 tr1 :: function和tr1 :: bind
  5. 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-梯度下降算法概述-03
  6. 0001-Hello world(第一弹)
  7. CF1156D 0-1-Tree(换根DP)
  8. dup、dup2、fcntl
  9. C# WinForm窗体四周阴影效果
  10. 远程服务器连接工具:Tmux
  11. 艾宾浩斯遗忘曲线.pdf百日计划表.pdf考研时间计划表.pdf每日打卡.pdf每日复习计划表.pdf详细日计划.pdf月计划表.pdf周计划.pdf
  12. linux下载flink安装包
  13. Cesium中的primitive流光轨迹
  14. UE接入过程(LTE和NR)
  15. import clip时Cannot re-initialize CUDA in forked subprocess
  16. chrome 打印布局_Chrome打印网页中的宽度控制
  17. 使用浏览器访问服务器shell(ssh方式)
  18. HUAWEI 机试题:英文输入法单词联想
  19. python pdf处理工具_用Python处理pdf文档
  20. 测开高阶技术- Docker/环境布置/容器 讲清楚了,全套教程

热门文章

  1. java宠物医院,基于SSM框架的JAVA宠物医院管理信息系统,源码分享
  2. 基于Halcon的MLP(多层感知神经网络)分类器分类操作实例
  3. 在计算机桌面如何切换成大图标,win7系统桌面图标怎么设置大小 win7电脑桌面图标大小更改方法...
  4. 编程与数学的关系_学编程需要很好的数学吗
  5. 复变函数不挂科——3小时学完复变函数与积分变换(猴博士复变函数学习笔记2)
  6. ristretto对cofactor1的椭圆曲线(如Curve25519等)的兼容(含Curve25519 cofactor的sage验证)
  7. markdown语法之表格
  8. 苹果沙盒服务器验证,我收到21004的状态值回复来自苹果的沙盒测试服务器自动再生订阅的IOS?(I'm gett...
  9. selenium安装及在python中简单使用
  10. 惊闻母校徐兵老师英年早逝