C++——拓展欧几里得模板——同余方程【NOIP2012提高组】
来源:互联网 发布:只有知我能看广播剧 编辑:程序博客网 时间:2024/06/06 16:52
同余方程
题目背景
NOIP2012 提高组 DAY2 试题。
题目描述
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。
输入格式
输入只有一行,包含两个正整数 a, b,用一个空格隔开。
输出格式
输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。
样例数据 1
输入 [复制]
3 10
输出
7
备注
【数据范围】
对于 40% 的数据,2≤b≤1,000;
对于 60% 的数据,2≤b≤50,000,000;
对于 100% 的数据,2≤a,b≤2,000,000,000
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>using namespace std;long long a,b,x,y;long long gcd(long long a,long long b,long long &x,long long &y){if(a<b) swap(a,b);if(b==0){x=1;y=0;return a;}long long ret=gcd(b,a%b,x,y);long long temp=x;x=y;y=temp-a/b*y;return ret;} int main(){ios::sync_with_stdio(false);cin.tie(NULL);cin>>a>>b;gcd(a,b,x,y);if(a*x+b*y==1)cout<<(x%b+b)%b<<endl;elsecout<<(y%b+b)%b<<endl;return 0;}
0 0
- C++——拓展欧几里得模板——同余方程【NOIP2012提高组】
- noip2012同余方程 (拓展欧几里得)
- 【NOIP2012提高组】同余方程 (扩展欧几里得算法)
- 【codevs1200】 NOIP2012—同余方程
- 同余方程(拓展欧几里得模板)
- 求解最大公约数——欧几里得算法及其(解同余方程)拓展欧几里得
- LuoguP1082[NOIP2012] 同余方程 解题报告【拓展欧几里得】
- [复习][NOIP2012真题]拓展欧几里得 同余方程
- NOIP2012提高组 同余方程
- noip2012 同余方程 (扩展欧几里得)
- 扩展欧几里得noip2012同余方程
- 同余方程——扩展欧几里得の板子
- codevs1200 同余方程 (2012年NOIP全国联赛提高组)拓展欧几里得
- NOIP2012复赛提高组day2(A:同余方程 B:借教室 C:疫情控制)
- NOIP2012 同余方程
- 【noip2012】同余方程
- NOIP2012 同余方程
- noip2012同余方程
- Unity学习笔记
- 世界上最完美的公式 ----欧拉公式
- 【欢迎加入图像处理算法交流群】群规贴
- SDL2 教程(零) 前言
- BZOJ 1015 星球大战 离线并查集 好题
- C++——拓展欧几里得模板——同余方程【NOIP2012提高组】
- Session 0x0 for server hostname/***.***.***.***:2181, unexpected error, closing socket connection an
- 小程序填坑:列表滑动操作
- 记一次ubuntu14忘记密码,进入单人维护模式
- OKhttp使用双向验证
- 洛谷 P1019 单词接龙
- Java NIO使用及原理分析(二)
- 3G模块驱动运用开发总结
- 关于classloader热加载