一、RSA简述 RSA是公钥密码的一种代表算法,它可以被用于公钥密码和数字签名。 二、RSA加密 在RSA中,明文、私钥和密文都是数字。它的加密过程是这样的: 密文 = 明文 ^ E % N 也即是说,RSA的密文是对明文的数字的进行E次方计算,然后再进行求模得到的。这就是RSA的整个加密过程。 在 ...
分类:
其他好文 时间:
2018-07-19 16:04:41
阅读次数:
172
欧几里得算法 即辗转相除法,证明如下。 基本算法:设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 ...
分类:
其他好文 时间:
2018-07-16 19:38:33
阅读次数:
181
记录python实现最大公约数&最小公位数两种算法 概念 最大公约数:指两个或多个整数共有约数中最大的一个 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数 二者关系:两个数之积=最小公倍数*最大公约数 实例 辗转相除法 更相减损法 辗转 ...
分类:
编程语言 时间:
2018-07-16 12:27:05
阅读次数:
151
两个数的最小公倍数和最大公约数肯定是倍数关系 然后又让求使得a最小 因为 a = m * gcd 令m = 1 时 a取得最小 即gcd 则b = lcm ...
分类:
其他好文 时间:
2018-07-16 11:08:42
阅读次数:
115
欧几里得算法 欧几里得算法用来快速求解两个数的最大公约数。 整除性 \(a|b\)表示\(a\)整除\(b\),即\(b\)是\(a\)的倍数。 定理1:设\(a,b,c\)为整数,若\(a|b, a|c\),则\(a|(b+c)\)成立 证明: 设\(b = sa, c = ta(s,t为整数)\ ...
分类:
其他好文 时间:
2018-07-15 12:05:41
阅读次数:
151
G(i) = (gcd(1, i) + gcd(2, i) + gcd(3, i) + .....+ gcd(i-1, i)) ret = G(1) + G(2) + G(3) +.....+ G(n); 对于gcd(x,i),我们设gcd(x,i) = m 即x和i的最大公约数为m 则x/m 和 ...
分类:
其他好文 时间:
2018-07-13 19:05:42
阅读次数:
111
例如用辗转相除法求a b 最大公约数(a b谁大谁小无所谓):i int GCD( int a , int b ) { int n=a%b; whie(n != 0) //即: while(n) { a = b; b = n; n = a % b; } return b; //注意这里返回的是b 不 ...
分类:
其他好文 时间:
2018-07-07 11:21:04
阅读次数:
170
暂定每天更新。 7.7 1. P1378 油滴扩展 2. P1306 斐波那契公约数 3. Bugs Integrated, Inc.(加深理解三进制dp) 4. UVa12206 Stammering Aliens(复习字符串hash) 5. P2921 [USACO08DEC]在农场万圣节Tri ...
分类:
其他好文 时间:
2018-07-07 00:23:43
阅读次数:
171
一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。 现给定两个不相等的正分数 N?1??/M?1?? 和 N?2??/M?2??,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。 输入格式: 输入在一行中按 N/M 的格式给出两个 ...
分类:
其他好文 时间:
2018-07-06 01:45:55
阅读次数:
156
求最大公约数利用辗转相除法: 求最小公倍数时,利用两数的乘积除以这两个数的最大公约数即可: 完整代码如下,输入两个数n和m,输出这两个数的最大公约数和最小公倍数: ...
分类:
其他好文 时间:
2018-07-05 12:16:46
阅读次数:
171