欧几里德算法

2050阅读 0评论2014-04-04 qinchaowhut
分类:C/C++

//数据结构与算法分析

点击(此处)折叠或打开

  1. #include<stdio.h>

  2. int gcd1(int m,int n)//m>=n
  3. {
  4.     if(n==0)
  5.         return m;//printf("%d\n",m);
  6.     else
  7.         return gcd1(n,m%n);
  8. }
  9. int gcd2(int m,int n)//m>=n
  10. {
  11.     while(n!=0)
  12.     {
  13.         int temp=m%n;
  14.         m=n;
  15.         n=temp;
  16.     }
  17.     return m;
  18. }

  19. int main()
  20. {
  21.     printf("%d\n",gcd1(18,9));
  22.     printf("%d\n",gcd2(18,9));
  23. }

上一篇:求unsigned int i的二进制表示中1的个数
下一篇:跳表的实现