可以使用辗转相除法来求两个数的最大公约数。算法如下:
-
将两个数中较大的数赋给变量a,较小的数赋给变量b。
-
计算a除以b的余数,将余数赋给变量r。
-
若r等于0,则b即为最大公约数,算法结束。
-
若r不等于0,则将b赋给a,将r赋给b,然后跳转到步骤2继续执行。
以下是使用C语言实现上述算法的代码示例:
#includeint gcd(int a, int b) { int r; while (b != 0) { r = a % b; a = b; b = r; } return a; } int main() { int num1, num2, result; printf("请输入两个整数:\n"); scanf("%d %d", &num1, &num2); result = gcd(num1, num2); printf("最大公约数为:%d\n", result); return 0; }
在该示例中,gcd函数用于求两个数的最大公约数。主函数main中通过用户输入获取两个整数,然后调用gcd函数计算最大公约数并输出结果。