要求最大公约数可以使用辗转相除法(欧几里得算法)来实现,下面是详细的步骤和小标题:
(图片来源网络,侵删)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
“`
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。