扩展Euclid小小总结
来源:互联网 发布:淘宝图库网站 编辑:程序博客网 时间:2024/06/05 06:57
前面我们说过,gcd(a,b)可以表示为a和b的最小的正线性组合。现在我们就要求这个最小的正线性组合ax+by中的x和y。这个可以利用我们的Euclid算法。
从最简单的情况开始。当b=0时,我们取x=1,y=0。当b≠0时呢?
假设gcd(a,b)=d,则gcd(b,a mod b)=d。若我们已经求出了gcd(b,a mod b)的线性组合表示bx'+(a mod b)y',则
gcd(a,b)=d
=bx'+(a mod b)y'
=bx'+(a-[a/b]b)y'
=ay'+b(x'-[a/b]y')
那么,x=y',y=x'-[a/b]y'。这样就可以在Euclid的递归过程中求出x和y。
总结:首先是做法吧,递归到最底层之后,每次返还的都是该层的x,y值,但是返还的过程中,下一层回到本层的x,y委曲求全地充当本层x',y';依次类推层层递归会到第一层。
其次说说思想,之所以可以递归是因为本层要求的数据可以用下一层的数据表达,形成了递推式。
- 扩展Euclid小小总结
- 小小总结
- 小小总结
- 小小总结
- 小小总结
- 小小总结
- 算法之旅 Euclid算法的扩展
- Euclid
- 小小总结-----Hibernate总结
- Uva 10104 Euclid Problem |x|+|y|最小解 扩展欧几里得
- uva 10104 Euclid Problem (数论-扩展欧几里德)
- RSA公钥加密+(Euclid)欧几里德扩展算法
- 小小的失恋总结
- 小小的总结一下
- 小小的总结.
- 突然想写点,小小总结
- Verilog/FPGA 小小总结
- Java基础小小总结
- UIColor 和 NSString 类型的转换
- 表格行上下移动
- mysql的安装
- SAP 如何修改已有字段的文本描述
- winform屏蔽鼠标滚轮事件
- 扩展Euclid小小总结
- 黑马程序员java笔记之五-----泛型
- logic标签输出map和list
- Unity3D Shader官方教程翻译(三)----Shader语法:属性
- Random - C++11, 7 of n
- 东兴市九龙潭漂流一日游
- proc源码解析(二)--proc数据结构
- ubuntu环境下反编译android apk
- Openstack中Scheduler脚本启动流程和调度流程分析之三