0对任何数取余_大数取余
有一类题目会因为求出的结果太大而只要求输出对某个数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对任何数取余_大数取余相关推荐
- 取文字_玉镯取不出来了怎么办?教你6种最有效的方法
也不知道是年龄到了,还是传统的文化根深蒂固,最近看到翡翠手镯都特别想入手,可惜平常磕磕碰碰的时候多,还是戴金饰比较靠谱~ 想必许多粉丝也和DD一样看到好看的镯子就走不动道吧? 不过呢,在佩戴玉镯的过程 ...
- 向上取整函数_向上取整函数ROUNDUP在BOM表里面的实际应用
电子制造行业的Purchase.PMC等岗位从业人员在工作中都会遇到根椐SPQ/MOQ计算采购量的问题.例如:需求贴片电阻6K,贴片电阻SPQ/MOQ是5K,请问需要采购多少数量的贴片电阻? 通常的做 ...
- excel抓取数据_抓取具有要求的excel在线只读文件
excel抓取数据 In a previous article https://medium.com/@hanqi_47643/scraping-excel-online-read-only-file ...
- java %取余数_计算机取余数java
Hash Table(哈希表)就是根据对象的特征进行定位的一种数据结构.一个简单的实现方法是将对象通过某种运算得到一个整数,再让这个整数除以哈希表的大小,取其余数,以此作为对象的存储位置. 很多的书上 ...
- python的整数取反_整数取反 - yunduoyun - 博客园
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1].请根据这个假设,如 ...
- python快递代取系统_代取快递的变现方式,校园跑腿的经营范围有多大?
原标题:代取快递的变现方式,校园跑腿的经营范围有多大? 进入大学,随着越来越多的学生加入到网购的行列.快递在学校也是堆积成山,高校校园快递市场也日渐红火.但往往带来的也有更多的麻烦,学生取快递时间变长 ...
- java对rgb取反_颜色取反 rgb COLORREF | 学步园
编码时遇到下面问题 背景颜色和前景颜色需要取反 COLORREF m_clr[5]; //背景颜色 m_listPD.SetItemData(nCount,m_clr[nUltraOrder]); / ...
- python取反函数_编程语言取反函数
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- java抓取工具_抓取工具Web-Harvest - dayang2001911 - JavaEye技术网站
Overview 总览 This section describes the motive, the notions and concepts used in Web-Harvest. 本章描述了在W ...
最新文章
- Matlab编程与数据类型 -- 数据类型概述
- python与R行列数据过滤(row column filtering):dplyr、 isnull、isna、drop、select、iloc、loc、isin、filter
- 多线程随机数组生成+双线程快速排序(C++实现)(0.2秒排100W个数字)
- c语言prog.c: in function 'main':,C语言 tr1 :: function和tr1 :: bind
- 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-梯度下降算法概述-03
- 0001-Hello world(第一弹)
- CF1156D 0-1-Tree(换根DP)
- dup、dup2、fcntl
- C# WinForm窗体四周阴影效果
- 远程服务器连接工具:Tmux
- 艾宾浩斯遗忘曲线.pdf百日计划表.pdf考研时间计划表.pdf每日打卡.pdf每日复习计划表.pdf详细日计划.pdf月计划表.pdf周计划.pdf
- linux下载flink安装包
- Cesium中的primitive流光轨迹
- UE接入过程(LTE和NR)
- import clip时Cannot re-initialize CUDA in forked subprocess
- chrome 打印布局_Chrome打印网页中的宽度控制
- 使用浏览器访问服务器shell(ssh方式)
- HUAWEI 机试题:英文输入法单词联想
- python pdf处理工具_用Python处理pdf文档
- 测开高阶技术- Docker/环境布置/容器 讲清楚了,全套教程
热门文章
- java宠物医院,基于SSM框架的JAVA宠物医院管理信息系统,源码分享
- 基于Halcon的MLP(多层感知神经网络)分类器分类操作实例
- 在计算机桌面如何切换成大图标,win7系统桌面图标怎么设置大小 win7电脑桌面图标大小更改方法...
- 编程与数学的关系_学编程需要很好的数学吗
- 复变函数不挂科——3小时学完复变函数与积分变换(猴博士复变函数学习笔记2)
- ristretto对cofactor1的椭圆曲线(如Curve25519等)的兼容(含Curve25519 cofactor的sage验证)
- markdown语法之表格
- 苹果沙盒服务器验证,我收到21004的状态值回复来自苹果的沙盒测试服务器自动再生订阅的IOS?(I'm gett...
- selenium安装及在python中简单使用
- 惊闻母校徐兵老师英年早逝