求最大公约数

作者:追风剑情 发布于:2015-2-7 20:26 分类:Algorithms

早在公元前300年左右,欧几里得就在他的著作《几何原本》中给出了高效的解法——辗转相除法。

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. //辗转相除法求最大公约数
  5. int gcd(int m, int n)
  6. {
  7. int r;
  8. r=m%n;
  9. if(r == 0)
  10. return n;
  11. else
  12. return gcd(n, r);
  13. }
  14.  
  15. void main()
  16. {
  17. int m,n;
  18. printf("请输入2个整数: ");
  19. scanf("%d,%d",&m,&n);
  20. printf("%d,%d的最大公约数为: %d \n", m, n, gcd(m, n));
  21. system("pause");
  22. }

运行结果

gcd.png

标签: Algorithms

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号