ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)
如果b与c互素,则(a/b)%c=a*b^((c)-1)%c其中是欧拉函数。或者(a/b)%c=a*b^(c-2)%c
如果b与c不互素,则(a/b)%c=(a%bc)/b
对于b与c互素和不互素都有(a/b)%c=(a%bc)/b成立
乘法逆元用扩展欧几里得定理:
例题:ZOJ - 3609
题干:
The modular modular multiplicative inverse of an integer a modulo m is an integer x such that a-1≡x (mod m)
. This is equivalent to ax≡1 (mod m)
.
Input
There are multiple test cases. The first line of input is an integer T ≈ 2000 indicating the number of test cases.
Each test case contains two integers 0 < a ≤ 1000 and 0 < m ≤ 1000.
Output
For each test case, output the smallest positive x. If such x doesn't exist, output "Not Exist".
Sample Input
3
3 11
4 12
5 13
Sample Output
4
Not Exist
8
题目大意:如果存在逆元输出逆元,不存在逆元输出Not Exist。
AC代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;int e_gcd(int a,int b,int &x,int &y) {if(b == 0) {x=1;y=0;return a;}int q=e_gcd(b,a%b,y,x);y-=a/b*x;return q;
}
int main()
{long long t;int x,y,a,b;while(~scanf("%lld",&t) ) {while(t--) {scanf("%d%d",&a,&b);int gcd = e_gcd(a,b,x,y);if(gcd !=1) {puts("Not Exist");continue; }if(x<=0) x+=b;printf("%d\n",x); }}return 0 ;
}
注意一下是x<=0的时候都不算逆元!!需要x+=b来变成正数!不能是非负数!。
ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)相关推荐
- 【ACM】杭电OJ 4704 Sum (隔板原理+组合数求和公式+费马小定理+快速幂)
http://acm.hdu.edu.cn/showproblem.php?pid=4704 1.隔板原理 1~N有N个元素,每个元素代表一个1.分成K个数,即在(N-1)个空挡里放置(K-1)块隔板 ...
- 【BZOJ1951】【SDOI2010】古代猪文 Lucas定理、中国剩余定理、exgcd、费马小定理
Description "在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心--" --选自猪王国民歌 很久 ...
- 逆元+费马小定理+扩展欧几里得
逆元:(即是逆元素)逆元素是指一个可以取消另一给定元素运算的元素. 在一个代数系统(S,*)中,存在单位元素e,如果对S内的元素a存在a^-1 * a = e,则将 a^-1称为a 的左逆元. 同理若 ...
- 子段乘积(逆元费马小定理)+线段树做法
题解:一开始做这个题的时候想过尺取法,但是因为没有逆元的知识,不知道该如何不断删除左端元素.其实这题并不难想,设l,r为两端开始都置为1,当长度小于k的时候不断乘右端元素并取余,当长度等于k时删除左端 ...
- 除法取模与逆元/费马小定理
对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元. 逆元一般用扩展欧几里得算法来求得,如果为素数,那么还可以根据费马小定理得到逆元为.(都要求a和m互质) 推导过程如下(摘自Acd ...
- 计算系数(二项式定理逆元费马小定理)
给定一个多项式(ax+by)^k,请求出多项式展开后(x^n)*(y^m)项的系数. 输入格式 共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开. 输出格式 输出共 ...
- jzoj4229-学习神技【逆元,费马小定理】
正题 题目大意 求 (∑i=1na∗qi)mod(109+7)(\sum_{i=1}^na*q^i)\ mod\ (10^9+7)(i=1∑na∗qi) mod (109+7) 解题思路 题目里都给 ...
- luogu P2613 【模板】有理数取余(费马小定理,乘法逆元)
整理的算法模板合集: ACM模板 目录 题目传送门 题目传送门 相当于是一个高精的费马小定理求乘法逆元.虽然数据达到了101000110^{10001}1010001,但是我们可以使用快读然后一直模m ...
- 取模除法(逆元)(费马小定理)(线性求逆元)
文章目录 引言 逆元 费马小定理 内容 应用 证明 线性求逆元 thanks for reading! 引言 我们做题时经常会由于答案过大,被要求使答案对一个质数取模 我们都知道,加和乘对取模是没有影 ...
- 初等数论四大定理之——费马小定理
皮埃尔·德·费马(Pierre de Fermat),1601年生于法国,是一个律师和业余数学家.他在数学多个分支上都有贡献,成就甚至超过了许多职业的数学家,被誉为"业余数学家之王" ...
最新文章
- Task02:青少年软件编程(Scratch)等级考试模拟卷(一级)
- java element 获取属性_java 获取类,属性变量,方法,方法参数上注解的值等
- 【Android】dip、dp、sp、pt和px的区别
- Android 开发学习资源
- python爬虫视频 下载 黑马_Python爬虫能爬视频么(python爬虫零基础视频教程)
- 【2018.10.2】Note of CXM
- 好吧,如果一定要RESTFUL的DJANGO
- php 获取图片的宽高,JS怎么获取图片当前宽高
- Win_Server_2003-2016_加密勒索事件必打补丁合集
- 新型安卓木马SpyNote生成器遭泄露
- C/C++经典算法——约瑟夫问题
- 2020-05-08 工作中英语单词积累
- 应用程序错误(0xc0000135)
- idea.log如何精确查看错误信息
- 金蝶产品虚拟化解决方案
- ACL/NAACL‘22 推荐系统论文梳理
- 甘特图在项目管理中的应用
- python基础知识整理13-正则re
- 多线程爬取NCBI数据库文献
- CAPL基础篇-----CAPL中如何对系统变量事件响应
热门文章
- 2019昆明计算机会议,计算机 | ACSAC 2019等国际会议信息6条
- 简述汇编语言中的标号有什么规定_2020年秋季学期《汇编语言》在线考试 (适用于2020年12月份考试)【答案标准】...
- php替换不区分大小写_PHP大小写问题:函数名和类名不区分,变量名区分
- redis5 外部不能连接_【硬见小百科】PCB连接的方法
- 【原创】Android之修改AlertDialog对话框及使用系统Holo风格
- mysql sql语句 入门_mysql(3)mysql的sql语句入门
- python string模块template_Python - 定制pattern的string模板(template) 详解
- java 代码重用需要注意的事项_程序员笔记|编写高性能的Java代码需要注意的4个问题...
- Linux下rgmii接口与fpga相连,FPGA控制RGMII接口PHY芯片88E1512网络通信
- 安装Linux后windows在哪启动,在Linux下安装windows后解决Linux不能启动能问题