正文

杂类集2007-02-03 21:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/argol/23091.html

分享到:

 Great Common Divisor最大公约数 n1.Euclid算法   重复gcd(a,b) = gcd(a,b mod a)至b mod a等于0 , gcd(b,0)=b, b最后的取值为a,b初值的最大公约数   2.stein算法 1.  1.如果A=0,B是最大公约数,算法结束 2.   如果B=0,A是最大公约数,算法结束 3.   设置A1 = A、B1=B和C1 = 1 4.    如果An和Bn都是偶数,则An+1 =An /2,Bn+1 =Bn /2,Cn+1 =Cn *2(乘2整数左移一位,除2整数右移一位即可) 5. 5.如果An是偶数,Bn不是偶数,则An+1 =An /2,Bn+1 =Bn ,Cn+1 =Cn (显然,2不可能为任何奇数的约数) 6.  6.如果Bn是偶数,An不是偶数,则Bn+1 =Bn /2,An+1 =An ,Cn+1 =Cn (同上J) 7.    如果An和Bn都不是偶数,则An+1 =|An -Bn|,Bn+1 =min(An,Bn),Cn+1 =Cn 8.    n++,转4 注:、Cn为两数最大公约数     =======================================   给定两个任意正整数n和任一质数p,求将n!表示成算术基本定理的形式的时候,p的指数. count=0; while(n) {      count+=n/p;      n/=p; } cout<<count<<endl;

阅读(3120) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册