gcd 算法

来源:互联网 发布:flash数据修改 编辑:程序博客网 时间:2024/06/05 10:47


基础

[cpp] view plain copy
  1. int gcd(int a,int b)  
  2. {  
  3.     int r;  
  4.     while(b>0)  
  5.     {  
  6.          r=a%b;  
  7.          a=b;  
  8.          b=r;  
  9.     }  
  10.     return a;  
  11. }  



位运算

[cpp] view plain copy
  1. int gcd(int a,int b)  
  2. {  
  3.     while(b^=a^=b^=a%=b);  
  4.     return a;  
  5. }  


递归

[cpp] view plain copy
  1. int gcd(int a,int b)  
  2. {  
  3.     return (b>0)?gcd(b,a%b):a;  
  4. }  

基础

[cpp] view plain copy
  1. int gcd(int a,int b)  
  2. {  
  3.     int r;  
  4.     while(b>0)  
  5.     {  
  6.          r=a%b;  
  7.          a=b;  
  8.          b=r;  
  9.     }  
  10.     return a;  
  11. }  



位运算

[cpp] view plain copy
  1. int gcd(int a,int b)  
  2. {  
  3.     while(b^=a^=b^=a%=b);  
  4.     return a;  
  5. }  


递归

[cpp] view plain copy
  1. int gcd(int a,int b)  
  2. {  
  3.     return (b>0)?gcd(b,a%b):a;  
  4. }  
原创粉丝点击