数
Fearain
一点浩然正气,千里快哉风。
展开
-
快速幂的学习
计算 S = a^n :S = a * a * a * a...... = ( ( (a^2)^2)^2)......n = 2^k1 + 2^k2 + 2^k3......例如: 22 = 16+4+2 22的二进制数为:10110那么: a^22 = a^16 * a^4 * a^2int pow(int a, int n){ int res =原创 2016-02-12 15:56:25 · 373 阅读 · 0 评论 -
扩展欧几里得的学习
1 概述 扩展欧几里得算法 用来 求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) =d(已知a, b, 且该解一定存在)。扩展欧几里德常用在求解模线性方程及方程组中。2 欧几里得算法 (又称辗转相除法) int gcd(int a, int b){ if (a < b) { in原创 2016-02-12 23:34:35 · 358 阅读 · 0 评论 -
斐波那契数列
//使用迭代的方式int fun1(int n){ if (n <= 2) return 1; int a, b, c; a = 1; b = 1; for (int i=3; i<=n; i++) { c = a + b; a = b; b = c; } ret原创 2016-03-03 15:24:05 · 334 阅读 · 0 评论 -
poj 1061 青蛙的约会
#includeusing namespace std;typedef long long LL;LL ex_gcd(LL a, LL b, LL &x, LL &y){ if (b == 0) { x = 1; y = 0; return a; } LL ans = ex_gcd(b, a%b, x, y原创 2016-11-20 14:59:24 · 338 阅读 · 0 评论