Stein算法算法步骤1、设置An=|A|、Bn=|B|、Cn=1和n=12、如果An=Bn,那么An(或Bn)*Cn是最大公约数,算法结束3、如果An=0,Bn是最大公约数,算法结束4、如果Bn=0,An是最大公约数,算法结束5、如果An和Bn都是偶数,则An+1=An/2,Bn+1=Bn/2,Cn+1=Cn*2(注意,乘2只要把整数左移一位即可,除2只要把整数右移一位即可)6、如果An是偶数,Bn不是偶数,则An+1=An/2,Bn+1=Bn,Cn+1=Cn(很显然啦,2不是奇数的约数)7、如果Bn是偶数,An不是偶数,则Bn+1=Bn/2,An+1=An,Cn+1=Cn(很显然啦,2不是奇数的约数)8、如果An和Bn都不是偶数,则An+1=|An-Bn|/2,Bn+1=min(An,Bn),Cn+1=Cn9、n=n+1,转2以前的算法有错误,因为cn根本就没有用到
我编程的时候才发现
现在我已经修正了这个错误
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。