LuoguP1082[NOIP2012] 同余方程 解题报告【拓展欧几里得】
来源:互联网 发布:淘宝网外贸店 编辑:程序博客网 时间:2024/06/05 23:42
题目描述
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。
输入输出格式
输入格式:
输入只有一行,包含两个正整数 a, b,用一个空格隔开。
输出格式:
输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。
输入输出样例
输入样例#1:
3 10
输出样例#1:
7
说明
【数据范围】
对于 40%的数据,2 ≤b≤ 1,000;
对于 60%的数据,2 ≤b≤ 50,000,000;
对于 100%的数据,2 ≤a, b≤ 2,000,000,000。
NOIP 2012 提高组 第二天 第一题
解题报告
题目给我们的方程:
移项得:
令:
得:
那么就可以用拓展欧几里得求解
我们知道对于
接下来按照拓展欧几里得的套路就好了:
令:
令:
则有:
可得:
这样一来就好办了:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;long long a,b,x,y;void exgcd(long long a,long long b,long long &x,long long &y){ if(b==0)x=1,y=0; else{exgcd(b,a%b,y,x);y-=a/b*x;}}int main(){ scanf("%lld%lld",&a,&b); exgcd(a,b,x,y); printf("%lld",(x+b)%b); return 0;}
阅读全文
0 0
- LuoguP1082[NOIP2012] 同余方程 解题报告【拓展欧几里得】
- noip2012同余方程 (拓展欧几里得)
- [复习][NOIP2012真题]拓展欧几里得 同余方程
- noip2012 同余方程 (扩展欧几里得)
- 扩展欧几里得noip2012同余方程
- NOIP2012Day2T1同余方程解题报告以及扩展欧几里得讲解
- C++——拓展欧几里得模板——同余方程【NOIP2012提高组】
- 同余方程(拓展欧几里得模板)
- 同余方程 解题报告
- NOIP2012 同余方程
- 【noip2012】同余方程
- NOIP2012 同余方程
- noip2012同余方程
- 【NOIP2012】同余方程
- [NOIP2012] 同余方程
- NOIP2012 同余方程
- [noip2012]: 同余方程
- NOIP2012同余方程
- 相机透视知识整理
- Editing Rocksdb BlockBasedTable Format
- 静态变量
- 第五次作业
- ionic+侧滑+轮播+刷新
- LuoguP1082[NOIP2012] 同余方程 解题报告【拓展欧几里得】
- 面经问题整理
- 用1,2,5组成和为100,求一共有多少种方式
- 【状压DP】NOIP2016Day2T3[愤怒的小鸟]题解
- ORB SLAM2 ROS单目摄像头环境搭建
- 【欧拉函数 && 求gcd(n, x) = y,x的个数】UVA
- (008) java后台开发之java程序中的控制结构
- L2-016. 愿天下有情人都是失散多年的兄妹
- C++ primer第五版 7.1.3节练习