C语言怎么样计算两个数的最大公约数和最小公倍数
小编给大家分享一下C语言怎么样计算两个数的最大公约数和最小公倍数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。最大公约数指两个或多个整数共有约数中最大的一个。而,最小公倍数是两个或多个整数公有的倍数中除0以外最小的那个公倍数。
计算两个数的最大公约数
根据约数的定义可知,某个数的所有约数必不大于这个数本身,几个自然数的最大公约数必不大于其中任何一个数。要求任意两个正整数的最大公约数即求出一个不大于其中两者中的任何一个,但又能同时整除两个整数的最大自然数。
算法思路:按照从大(两个整数中较小的数)到小(到最小的整数1)的顺序求出第一个能同时整除两个整数的自然数,即为所求。
代码示例:
#include<stdio.h>
int main()
{
int m, n, temp, i;
printf("请输入任意2个数:\n");
scanf("%d%d", &m, &n);
if(m<n)
{
temp=m;
m=n;
n=temp;
}
for(i=n; i>0; i--)
if(m%i==0 && n%i==0)
{
printf("%d 和 %d 的最大公约数为: %d\n", m, n, i);
break;
}
return 0;
}
输出:
计算两个数的最小公倍数
思路:求任意两个正整数的最小公倍数,即求出一个最小的能同时被两整数整除的自然数。
代码示例:
#include<stdio.h>
int main()
{
int m, n, temp, i;
printf("请输入任意2个数:\n");
scanf("%d%d", &m, &n);
if(m<n)
{
temp=m;
m=n;
n=temp;
}
for(i=m; i>0; i++)
if(i%m==0 && i%n==0)
{
printf("%d 和 %d 的最小公倍数为: %d\n", m, n, i);
break;
}
return 0;
}
输出:
最小公倍数也可以使用最大公约数来求,公式:
● 最小公倍数=两数的乘积/最大公约(因)数
以上是“C语言怎么样计算两个数的最大公约数和最小公倍数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341