求最大公约数c语言代码

c
#include <stdio.h> // 函数声明 int findGCD(int a, int b); int main() { int num1, num2; // 从用户输入获取两个整数 printf("输入两个整数: "); scanf("%d %d", &num1, &num2); // 调用函数计算最大公约数 int gcd = findGCD(num1, num2); // 打印结果 printf("最大公约数是: %d\n", gcd); return 0; } // 函数定义:计算最大公约数 int findGCD(int a, int b) { while (a != b) { if (a > b) { a -= b; } else { b -= a; } } return a; }

这个程序通过欧几里德算法迭代计算两个整数的最大公约数。输入两个整数,程序将输出它们的最大公约数。希望对你有帮助!

c
#include <stdio.h> // 函数声明 int findGCD(int a, int b); int main() { int num1, num2; // 从用户输入获取两个整数 printf("输入两个整数: "); scanf("%d %d", &num1, &num2); // 调用函数计算最大公约数 int gcd = findGCD(num1, num2); // 打印结果 printf("最大公约数是: %d\n", gcd); return 0; } // 函数定义:计算最大公约数 int findGCD(int a, int b) { int temp; while (b != 0) { temp = b; b = a % b; a = temp; } return a; }

这个代码片段使用辗转相除法,通过取余操作迭代计算两个整数的最大公约数。这种方法通常比欧几里德算法更高效。希望这个版本的代码对你有帮助!