常用的简单函数 ——求最大公约数的函数

#include <stdio.h>
#include <math.h>
/*
 * 最大公约数的递归:
 * 1、若a可以整除b,则最大公约数是b
 * 2、如果1不成立,最大公约数便是b与a%b的最大公约数
 * 示例:求(140,21)
 * 140%21 = 14
 * 21%14 = 7
 * 14%7 = 0
 * 返回7
 * */
int gcd(int a,int b){
 if(a%b==0)
  return b;
 return gcd(b,a%b);
}
int main(void){
 int a=10,b=8;
 scanf("%d %d",&a,&b);
 printf("GCD: A=>%d, B=>%d (A,B)=%d\n",a,b,gcd(a,b));
 return 0;
}

当计算多个数的公约数时,需要知道,前两个的最大公约数,依次和后面的数求公约数,得到的就是所有数字的最大公约数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容