
51Nod 1256 乘法逆元 扩展欧几里得
View Code
发布日期:2021-05-09 04:21:32
浏览次数:18
分类:博客文章
本文共 720 字,大约阅读时间需要 2 分钟。
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。Input输入2个数M, N中间用空格分隔(1 <= M < N <= 10^9)Output输出一个数K,满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。Input示例2 3Output示例2思路:
因为N与M互质,gcd(N,M)=1
所以 K*M%N=1 改写为即
转化为求exgcd
解出大于0的最小正值即可代码:
1 #include2 using namespace std; 3 typedef long long ll; 4 ll exgcd(ll a, ll b, ll &x, ll &y) { 5 if(!b) { 6 x=1;y=0;return a; 7 } 8 ll ans=exgcd(b,a%b,x,y); 9 ll temp=x;10 x=y;11 y=temp-a/b*y;12 return ans;13 }14 int main() {15 ios::sync_with_stdio(false);16 ll m,n;17 cin>>m>>n;18 ll x,y;19 exgcd(m,n,x,y);20 cout<<((x%n)+n)%n<
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月09日 09时51分17秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java计算某日期之后的日期
2019-03-06
struts2自定义类型转换器
2019-03-06
kettle学习笔记(九)——子转换、集群与变量
2019-03-06
Java调用WebService之Axis实现
2019-03-06
SpringBoot Web(SpringMVC)
2019-03-06
安装rabbitMQ
2019-03-06
javascript 之对象-13
2019-03-06
解决:angularjs radio默认选中失效问题
2019-03-06
java按照关键字指定的key删除redis(支持模糊删除)
2019-03-06
tl-wr742n 怎么设置dns
2019-03-06
Vue基础入门学习
2019-03-06
Spring Validation 校验
2019-03-06
如何使用Postman生成不同格式测试的报告
2019-03-06
Jmeter-ForEach控制器
2019-03-06
Jmeter发送jdbc请求(操作mysql)
2019-03-06
windows环境下安装zookeeper(仅本地使用)
2019-03-06
Docker学习(十三)- docker rm 命令详解
2019-03-06
移动端Web开发调试之Chrome远程调试(Remote Debugging)
2019-03-06