码迷,mamicode.com
首页 >  
搜索关键字:欧几里德算法    ( 162个结果
菜鸟 学注册机编写之 “RSA”
测试环境系统:xpsp3调试器:od1.10RSA简单介绍选取两个别人不知道的大素数p,q.公共模n=p*q欧拉值t=(p-1)(q-1)选取公匙(加密匙)e,满足***(e,t)=1.常用为3,65537等.根据扩展欧几里德算法求得:私匙d=e^-1modt.加解密算法:加密:密文c=m^emod...
分类:其他好文   时间:2014-11-20 15:12:01    阅读次数:312
如何使用循环而不是递归反推的方式实现拓展欧几里德算法
平常我们使用拓展欧几里德算法求pm + qn = gcd(m, n)这种表示时,一般都会选择递归的方式来实现,因为欧几里得算法的递归深度最多也只有O(lgn), according to lame's theorem,所以这个递归用栈是可以忽略的。但其实只需要循环就可以求出一组pm + qn = g...
分类:编程语言   时间:2014-11-08 23:33:45    阅读次数:267
欧几里德算法计算最大公因数
欧几里德算法计算最大公因数 算法通过连续计算余数知道余数是0为止没最后的非零余数就是最大公因数. /*************************************************** code writer : EOF code file : gcd.c code date : 2014.09.18 e-mail : jasonleaste...
分类:其他好文   时间:2014-09-18 13:18:24    阅读次数:272
扩展欧几里德算法
本来数学就不好,看到LRJ的数学专题直接跪了,上网百度了一下才知道扩展欧几里德算法的证明过程。 首先说一下朴素欧几里德算法,就是辗转相除法,很简单。 int gcd(int a,int b){ return b == 0 ? a : gcd(b,a % b); } 下面主要说一下扩展欧几里得算法。 给出a,b 求 x,y使得 a * x + b * y = gcd(a,b);...
分类:其他好文   时间:2014-08-11 12:09:12    阅读次数:202
欧几里得算法-----欧几里德算法
欧几里得算法 欧几里得算法又称辗转相除法,主要用于计算两个整数a,b的最大公约数。 原理:gcd(a,b)=gcd(b,a mod b)(这里a>=b)          (gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|) 证明gcd(a,b)=gcd(b,a mod b):a可以表示成a = kb + r,则r= a mod b   假设d是a,b...
分类:其他好文   时间:2014-08-08 18:20:46    阅读次数:278
扩展欧几里得算法------扩展欧几里德算法
扩展欧几里得算法及其应用 一、扩展欧几里得算法 扩展欧几里得算法:对于不完全为 0 的非负整数 a,b,若gcd(a,b)表示 a,b 的最大公约数,必然存在整数对x,y ,使得 ax+by = gcd(a,b)。 算法过程: 设 a>b,当 b=0时,gcd(a,b)=a。此时满足ax+by = gcd(a,b)的一组整数解为x=1,y=0;当a*b!=0 时, 设 a*x1+b*...
分类:其他好文   时间:2014-08-08 18:14:06    阅读次数:341
extended_gcd(扩展欧几里德算法) 青蛙的约会
#include #include long long gcd(long long x,long long y){ if(y==0) { return x; } return gcd(y,x%y);}void extended_gcd(long long a,l...
分类:其他好文   时间:2014-08-07 09:43:09    阅读次数:153
扩展欧几里德算法—求解不定方程,线性同余方程
#includeint extended_gcd(int a,int b,int &x,int &y){ int r,t; if(!b) { x = 1; y = 0; return a; } r = extended_gcd(...
分类:其他好文   时间:2014-08-06 11:44:11    阅读次数:268
扩展欧几里得
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 递归代码: __int64 gcd(__int64 a,__int64 b) { return b==0?a:gcd(b,a%b); } 扩展欧几里得 基本...
分类:其他好文   时间:2014-07-29 15:00:38    阅读次数:431
POJ 1061青蛙的约会(扩展欧几里德)
对欧几里德不太熟悉,参考了网上的一些讲解又学习了一下利用扩展欧几里德算法求线性方程的一般过程:a*x + b*y = m令a1 = a/gcd(a,b) b1 = b/gcd(a,b) m1 = m/gcd(a,b)a*x + b*y = m两边同除以m1a*x/m1 + b*y/m1 = m/.....
分类:其他好文   时间:2014-07-29 11:58:06    阅读次数:300
162条   上一页 1 ... 13 14 15 16 17 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!