合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
C
语言 使用欧几里得算法(辗转相除法)计算两个整数的最大公约数
#include <stdio.h>// 计算最大公约数(GCD)
long long gcd(long long a, long long b) {while (b != 0) { // 当 b 不为 0 时循环long long temp = b; // 临时变量存储 b 的值b = a % b; // 计算 a 除以 b 的余数,赋值给 ba = temp; // 将之前存储的 b 的值赋值给 a}return a; // 当 b 为 0 时,a 就是最大公约数
}int main() {long long a, b; // 定义两个长整型变量 a 和 b,用于存储输入的两个整数printf("请输入两个整数:"); // 提示用户输入scanf("%lld %lld", &a, &b); // 读取用户输入的两个整数,分别存储到 a 和 b 中// 调用欧几里得算法,得到最大公约数long long result = gcd(a, b); // 调用 gcd 函数计算 a 和 b 的最大公约数printf("%lld 和 %lld 的最大公约数是 %lld\n", a, b, result); // 输出结果return 0; // 程序正常结束
}