码迷,mamicode.com
首页 >  
搜索关键字:欧几里德算法    ( 162个结果
算法总结之欧几里德算法
算法总结之欧几里德算法1.欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。 其计算原理依赖于下面的定理: gcd(a,b)=gcd(b,amodb)(a>b且amodb不为0)代码实现:1 int gcd(int a,int b)2 {3 return ...
分类:其他好文   时间:2014-07-29 10:29:16    阅读次数:231
POJ 2115 C Looooops
题目:http://poj.org/problem?id=2115 题意:对于C的for(i=A ; i!=B ;i +=C)循环语句,问在k位存储系统中循环几次才会结束。若在有限次内结束,则输出循环次数。否则输出死循环。 思路:这道题是一个扩展欧几里德算法的拓展,求单变元模线性方程 即:Cx=(B-A)(mod 2^k)  扩展欧几里得算法和单变元模线性方程(传送门) + 比较详细的博...
分类:其他好文   时间:2014-07-27 11:31:23    阅读次数:199
HDU 1576 A/B 扩展欧几里德算法
A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2017    Accepted Submission(s): 1469 Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n...
分类:其他好文   时间:2014-07-26 15:28:02    阅读次数:168
POJ-1061 青蛙的约会-数论扩展欧几里德算法入门及推导
Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面...
分类:其他好文   时间:2014-07-26 02:02:56    阅读次数:230
POJ 1061 青蛙的约会
学长口中恶意到裸题,我就只能呵呵了。主要运用一次运用扩展欧几里德算法,列举学霸教我的一个例子(6x+12y = 6的解为x =1,y = 0;所以6x1+12y1=12的解为x1/2 = x,y2/2 = y);除此之外还要在impossible的时候注意判定。#includeusing names...
分类:其他好文   时间:2014-07-23 12:36:46    阅读次数:233
欧几里得
欧几里得 欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 第一种证明:       a可以表示成a = kb + r,则r = a mod b   假设d是a,b的一个公约数,则有   d|a, d|b,而r = ...
分类:其他好文   时间:2014-07-22 23:52:47    阅读次数:344
【学习总结】数学-欧几里德定理
描述 欧几里德算法 别名:辗转相除法 用途:计算两个正整数a,b的最大公约数 欧几里德拓展算法 扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足等式: ax+by=gcd(a,b)=d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。 代码 C++ 欧几里德LL gcd (LL a, LL b) { ret...
分类:其他好文   时间:2014-07-03 16:20:26    阅读次数:198
求最大公约数和最小公倍数
CSDN链接两个自然数的积等于这两个数的最大公约数与最小公倍数的积。求最大公约数的方法:1、辗转相除法:辗转相除法又称为欧几里德算法其计算原理依赖于下面的定理:定理:gcd(a,b) = gcd(b,a mod b) (a>b 且a mod b 不为0)当b==0时,gcd(a,b)中的a即为最大公...
分类:其他好文   时间:2014-05-26 11:19:49    阅读次数:263
uva 10104 Euclid Problem (数论-扩展欧几里德)
uva 10104 Euclid Problem (数论-扩展欧几里德) 题目大意: 已知 A 和 B , 问你 A*X+B*Y=GCD(A,B)的 X,Y解。 解题思路: 非常裸的拓展欧几里德算法。 拓展欧几里德算法证明过程: 因为 B*X1+A%B*Y1=GCD(B,A%B) =GCD(A,B)=A*X+B*Y 所以 B*X1+(A-A/B*B)*Y1=A*X+B*Y A*Y1+B*(X1-A/B*Y1)=A*X+B*Y 于是: X=Y1,Y=(X1-A/B*Y1) 因此,得出( A*...
分类:其他好文   时间:2014-05-26 05:53:55    阅读次数:297
Modified LCS (扩展欧几里德)细写了对这个算法思路的理解
题目:Modified LCS 为过此题去仔细研究了下扩展欧几里德算法,领悟了一些精华。 模板为: void gcd(ll a, ll b, ll& d, ll& x, ll& y) { if(!b) {d = a; x = 1; y = 0;} else{ gcd(b, a%b, d, y, x); y -= x*(a/b);} } 这里算出来的x,y是对于方...
分类:其他好文   时间:2014-05-23 00:26:20    阅读次数:377
162条   上一页 1 ... 14 15 16 17 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!