c语言怎么求最大公约数
- 行业动态
- 2024-04-01
- 1
要求最大公约数可以使用辗转相除法(欧几里得算法)来实现,下面是详细的步骤和小标题:
1、辗转相除法原理
辗转相除法是一种求两个整数的最大公约数的算法。
其基本原理是利用以下性质:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。
2、算法步骤
输入两个整数a和b,确保a大于等于b。
如果b等于0,则返回a作为最大公约数。
否则,将a除以b取余数,记为r1。
将b赋值给a,将r1赋值给b。
重复执行第4步,直到b等于0为止。
此时,a的值即为最大公约数。
3、C语言代码实现
“`c
#include <stdio.h>
// 函数声明
int gcd(int a, int b);
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
printf("最大公约数为:%d
", gcd(num1, num2));
return 0;
}
// 辗转相除法求最大公约数的函数实现
int gcd(int a, int b) {
while (b != 0) {
int r1 = a % b; // 计算余数r1
a = b; // 将b赋值给a
b = r1; // 将r1赋值给b
}
return a; // 返回最大公约数a
}
“`
4、示例运行结果
假设输入的两个整数为48和18,程序的输出结果为:
“`
请输入两个整数:48 18
最大公约数为:6
“`
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/315500.html