扩展欧几里得(poj1061)
来源:互联网 发布:淘宝客引流文案 编辑:程序博客网 时间:2024/06/15 15:30
欧几里得算法的拓展应用中有如下三条定理:
定理一:如果d = gcd(a, b),则必能找到正的或负的整数k和l,使d = a*x+ b*y。
定理二:若gcd(a, b) = 1,则方程ax ≡ c (mod b)在[0, b-1]上有唯一解。
定理三:若gcd(a, b) = d,则方程ax ≡ c (mod b)在[0, b/d - 1]上有唯一解。
ac代码:
#include <iostream>using namespace std;long long t, p, c;void extend_euild(int a, int b){ if(b == 0) { t = 1; p = 0; c = a; } else { extend_euild(b, a%b); int temp = t; t = p; p = temp - a/b*p; }}int main(){ int i, j, ok = 0, d, a, b; long long x, y, m, n, l; freopen("in.txt", "r", stdin); cin >> x >> y >> m >> n >> l; if(n == m) ok = 1; else{ a = n-m; d = x-y; b = l; extend_euild(a, b); if(d % c !=0) ok = 1; } if(ok) cout << "Impossible" << endl; else { b = b / c; d = d / c; long long v = d * t; cout << (v%b+b)%b << endl; } getch(); return 0;}
0 0
- 扩展欧几里得(poj1061)
- poj1061青蛙的约会(扩展欧几里得)
- POJ1061青蛙的约会(扩展欧几里得)
- poj1061青蛙的约会(扩展欧几里得)
- POJ1061 青蛙的约会(扩展欧几里得)
- POJ1061:青蛙的约会(扩展欧几里得)
- [poj1061]: 青蛙的约会(扩展欧几里得)
- POJ1061 扩展欧几里得
- poj1061-扩展欧几里得算法
- poj1061扩展欧几里得
- POJ1061扩展欧几里得定理
- poj1061 扩展欧几里得
- poj1061 扩展欧几里得算法
- POJ1061 扩展欧几里得
- 欧几里得与扩展欧几里得介绍->POJ1061
- poj1061(青蛙的约会)(欧几里得扩展原理应用)
- poj1061 青蛙的约会 (数论,扩展欧几里得)
- 扩展欧几里得 poj1061 青蛙的约会
- 排序算法(四)选择排序及优化版本
- JVM学习笔记(四)------内存调优
- nginx端口占用案例分享
- JVM学习笔记(二)------Java代码编译和执行的整个过程
- PHP生成二维码名片带LOGO并解决LOGO失真
- 扩展欧几里得(poj1061)
- StringUtils.isNotBlank(XX)
- Linux守护进程的实现
- c/c++文件遍历
- [十]java作业
- shell参数扩展
- Python基本知识点备忘
- SVM在R语言中的使用
- 成员变量详解