- 注册时间
- 2008-5-29
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 87
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
欧几里得算法用于计算两个非负整数的最大公约数:- long gcd(long a, long b)
- {
- if (b == 0) return a;
- return gcd(b, a % b);
- }
复制代码 可以推广该算法,使它能计算出满足下列条件的整系数x和y:d = gcd(a, b) = ax + by- // return d = gcd(a, b) = ax + by
- long gcd(long a, long b, long &x, long &y)
- {
- if (b == 0) { x = 1; y = 0; return a; }
- long d = gcd(b, a % b, y, x);
- y -= a / b * x;
- return d;
- }
复制代码 注意,x与y可能为0或负数。这些系数对计算模乘法的逆是非常有用的。 |
评分
-
查看全部评分
|