NOIp2012TG/Luogu P1082 同余方程 解题报告
来源:互联网 发布:不用网络的跑酷游戏 编辑:程序博客网 时间:2024/06/04 19:16
这是一道数论题,是扩展欧几里得算法的裸题
博主为了让自己记住这个算法,特地来写一篇博文下面来看看一下题:
题目描述
求关于
输入输出格式
输入格式:
输入只有一行,包含两个正整数 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 提高组 第二天 第一题
解题思路
扩展欧几里得算法
分析:
然后再次变为
所以用扩展欧几里德方法解就可以了。
下面是C++代码:
#include <iostream>#include <cstdio>using namespace std;long long x,y,a,b,ans;long long gcd(long long a,long long b)//扩展欧几里得算法{ long long t,ret; if(b==0)//欧几里得算法 { x=1; y=0; return a; } ret=gcd(b,a%b); t=y;//扩展欧几里得 y=x-(a/b)*y; x=t; return ret;}int main(){ cin>>a>>b; ans=gcd(a,b); while(x>b)x-=b; //输出最小正整数解 while(x<0)x+=b; cout<<x<<endl; return 0;}
写给自己:如果无法理解,建议背过代码
感谢惠读
0 0
- NOIp2012TG/Luogu P1082 同余方程 解题报告
- [noip2012tg] 同余方程
- [P1082] 同余方程
- 洛谷 P1082 同余方程
- C++ P1082 同余方程
- 洛谷 P1082 同余方程
- [洛谷]P1082 同余方程
- 洛谷P1082 同余方程
- 洛谷P1082 同余方程
- 同余方程 解题报告
- 洛谷 P1082 [NOIP2012 D2T1] 同余方程
- NOIP2012Day2T1同余方程解题报告以及扩展欧几里得讲解
- LuoguP1082[NOIP2012] 同余方程 解题报告【拓展欧几里得】
- 校内赛 【同余方程】【组合数】 解题报告
- PKU1061 解题报告 青蛙的约会 __用扩展欧几里得解模同余方程
- 线性同余方程
- 解同余方程
- 线性同余方程
- QT图形视图框架(The Graphics View Framework)
- Launch of Collider
- STORM 拓扑构建
- Genymotion模拟器adb冲突解决方法
- Android知识点总结
- NOIp2012TG/Luogu P1082 同余方程 解题报告
- Js中Math对象的API
- 四则运算的中缀表达式和后缀表达式
- 前端学习总结(二十三)——前端框架天下三分:Angular React 和 Vue的比较
- 文章标题
- QT实现简单验证的页面跳转
- c++的IDE以及编译器下载
- Mac os x下配置nginx + php
- BZOJ 1853 [Scoi2010]幸运数字