题⽬描述:
输⼊2个整数m和n,计算m和n的最⼤公约数,并打印出结果。
当输入两个整数m和n时,我们需要计算它们的最大公约数。最大公约数(Greatest Common Divisor,简称GCD)是指能够同时整除给定两个数的最大正整数。本篇博客将为您介绍如何编写一个C语言程序来实现这个功能,并附带详细的注释和解释。
首先,让我们简要回顾下最大公约数的计算方法。常用的算法包括欧几里德算法(辗转相除法)和更相减损术。其中,欧几里德算法是最为常用的方法之一。该算法基于以下原理:两个整数m和n(m > n)的最大公约数等于n和m%n的最大公约数,其中%m表示m除以n的余数。
#include <stdio.h>
// 函数:计算最大公约数
int gcd(int m, int n) {
// 循环,直到找到最大公约数
while (n != 0) {
int temp = n;
n = m % n;
m = temp;
}
return m; // 返回最大公约数
}
int main() {
int m, n;
// 读取用户输入的两个整数
printf("请输入两个整数 m 和 n:");
scanf("%d %d", &m, &n);
// 调用gcd函数计算最大公约数并输出结果
int result = gcd(m, n);
printf("最大公约数是:%d\n", result);
return 0;
}