(C语言练习) 用函数来求最大公因数和最小公倍数
Posted 赛罗丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(C语言练习) 用函数来求最大公因数和最小公倍数相关的知识,希望对你有一定的参考价值。
(C语言练习) 用函数来求最大公因数和最小公倍数
首先我们要知道最大公因数和最小公倍数怎么求
最大公因数 :用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
最小公倍数: 最小公倍数=两数的乘积/最大公约(因)数
//定义最大公因数的函数
int max_GongYinShu(int a,int b)
{
/*最大公因数的算法
用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
*/
if (a < b)
{
int t = a;
a = b;
b = t;
}
//因为0不能做被除数
while (b != 0)
{
int w = a % b; //计算余数
a = b; //程序能执行到这里说明a除以b有余数 然后换位,再将余数和a比较 ,直到最后余数为0
b = w;
}
return a; //因为是求最大公因数,所以返回 a
}
//最小公倍数 函数
int min_GongBeiShu(int a, int b)
{
/*
* 最大公倍数的算法
* 最小公倍数=两数的乘积/最大公约(因)数
*/
return a * b / max_GongYinShu(a, b);
}
int main()
{
int a, b,c, m, n;//定义所需的变量
printf("请输入2个数\\n");
scanf_s("%d %d", &a, &b);
m = max_GongYinShu(a, b);
n = min_GongBeiShu(a, b);
printf("最大公因数为%d\\n", m);
printf("最小公倍数为%d\\n", n);
}
输出结果
请输入2个数
16 18
最大公因数为2
最小公倍数为144
以上是关于(C语言练习) 用函数来求最大公因数和最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章