14级结训赛3314-扩展欧几里德
2015-09-15 19:49
253 查看
思路:
可以把式子变为 k*m = x*n +1;
这样就可以用扩展欧几里的算法了
gcd(m,n) = k*m + x*n;
求k, 如果k的值小于0,需要加上n
CODE
可以把式子变为 k*m = x*n +1;
这样就可以用扩展欧几里的算法了
gcd(m,n) = k*m + x*n;
求k, 如果k的值小于0,需要加上n
CODE
#include<stdio.h> #include<string.h> #include<stdlib.h> #define NN 500004 #define NL 1000 using namespace std; void gcd(int a,int b, int &x, int &y) { if(!b) { x = 1; y = 0; } else { gcd(b,a%b,y,x); y -= x*(a/b); } } int main() { int k , x; int n, m; while(~scanf("%d%d",&m,&n)) { k = x = 1; gcd(m,n,k,x); if(k < 0) k = k+n; printf("%d\n",k); } return 0; }
相关文章推荐
- 从一台2005数据库备份后 ,想到另一台2005数据恢复 但发生 备份集中的数据库备份与现有的XX 数据库不同 选择覆盖现有数据库 也不行
- 台大机器学习第一讲
- 2015广东移动“灯塔计划”暑期实习面试小记
- javascript判断非空
- python笔记之bisect模块
- python笔记之常用模块用法分析
- light oj 1019【最短路模板】
- ios7 侧滑返回
- ORM对象关系映射之GreenDAO高级用法
- Cache技术――OSCache(转-全)
- C++左值和右值
- 例题6-1 并行程序模拟 UVa210 双端队列
- ORM对象关系映射之GreenDAO高级用法
- sql学习笔记
- Type InvokeMember()用法简介
- python笔记之itertools模块
- .net micro framework Netduino无法休眠
- fragment与Activity的生命周期
- python笔记之提取网页中的超链接
- Hadoop中的一些基本操作