stein求gcd

于欧几里得算法的对比

与欧几里得求gcd相比,stein算法的优势在于稳定,欧几里得算法中存在取模运算,而当模数过大时,取模运算的耗时会增加,而stein算法中只涉及移位,速度超快!

原理

gcd(ka,kb)=k*gcd(a,b)

实现

int stein(int a,int b)
{if(a>1,b>>1)<<1;else if((a&1) && (!(b&1)))return stein(a,b>>1);else if((!(a&1)) && (b&1))return stein(a>>1,b);else return stein(a-b,b);
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部