一、辗转相除法
辗转相除法,也叫欧几里得算法,是求公约数的一种常用方法。其基本思想是用较大的数除以较小的数,再用余数去除除数,如此反复,直到余数为零为止。这时,的除数就是公约数。
下面是辗转相除法的C语言代码实现
“`cttt b) {t r;
while (b >0) {
r = a % b;
a = b;
b = r;
} a;
二、穷举法
穷举法,顾名思义,就是把所有可能的情况都列出来,从中选取符合条件的结果。对于求公约数,穷举法就是从两个数中较小的开始,依次往下枚举,找到能同时被两个数整除的的那个数。
下面是穷举法的C语言代码实现
“`cttt b) {tin;in = a0; i–) {
if (a % i == 0 && b % i == 0) { i;
}
} 1;
以上就是C语言实现求公约数的两种方法。两种方法各有优劣,辗转相除法速度较快,但对于较大的数可能会出现溢出的情况;而穷举法则适用范围广,但速度较慢。在实际应用中,大家可以根据具体情况选择合适的方法。