C语言求两个正整数的最小公倍数 |
您所在的位置:网站首页 › 输入两个整数求两个整数之间包含这两个整数的总和 › C语言求两个正整数的最小公倍数 |
这里将介绍求两个正整数的最小公倍数(Least Common Multiple,LCM)的方法。提供两种主要思路,一种是直接根据最小公倍数的定义设计算法,一种是由最大公约数计算得出。下面来介绍这两种方法。 定义法求解两个正整数的最小公倍数的第一种思路,根据定义设计算法,最小公倍数的本质是一个最小的能同时被两整数整除的自然数。我们先比较两数大小,从较大数开始向上递增,直到找到那个最小公倍数。 代码如下: #include int main() { int i=0; int m,n,temp; printf("请输入两个正整数:"); scanf("%d %d",&m,&n); if(m if(i%m==0 && i%n==0) { printf("%d和%d的最小公倍数是%d",m,n,i); break; } } return 0; } 辅助法求最小公倍数也可以借助最大公约数辅助计算,公式为最小公倍数=两数的乘积/最大公约(因)数。解题时避免将两个问题混淆。 连续整除检测法这种方法的实现原理是,先取出两个数中的较小数,赋值给temp(temporary),接着用其中一个数与temp求余,若余数不为0,则temp-1,循环该步骤直到余数为0。再用另一个数,重复此步骤,最后得出的值利用公式计算得到这两个数的最小公倍数。 代码如下: #include int main() { int i=0; int m,n,temp; printf("请输入两个正整数:"); scanf( |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |