您的位置:

怎样用c语言求最小公倍数,C语言怎么求最小公倍数

本文目录一览:

c语言求最小公倍数的方法

1、对于输入的两个正整数m和n每次输入的大小顺序可能不同,为了使程序具有一般性,首先对整数所m和n进行大小排序,规定变量m中存储大数、变量n中存储小数。

C语言

2、输入的两个数,大数m是小数n的倍数,那么大数m即为所求的最小公倍数;若大数m不能被小数n整除则需要寻找一个能同时被两数整除的自然数。

从大数m开始依次向后递增直到找到第一个能同时被两数整除的数为止,所以循环变量i的初值为寻找第一个能同时被两整数整除的自然数,并将其输出。需要注意的是,在找到第一个满足条件的i值后,循环没必要继续下去,所以用break来结束循环。

3、在上面的分析过程中没有提到循环变量的终止条件,因i的最大值不能确定,像这种终止条件不确定的情况如何来表示?方法有两种,第一,可以把判定条件表示成循环变量满足的基本条件,如本例终止条件可表示成i0;第二,终止条件省略不写,利用循环体中的语句结束循环,如在找到第一个满足条件的自然数时利用break语句结束循环。

程序

c语言最小公倍数怎么求

【利用C语言求最小公倍数主要用到if

whie循环】

例子如下:

直接编译,程序输出结果中任意输入两个数,如5和8,然后按回车,结果如下图所示:

两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。

用C语言编写程序求两个数的最小公倍数,并输出

如图使用辗转相除法求最小公倍数:

方法步骤:

一、打开VC2010(或其他C语言编译器),新建项目-选择Win32为控制台应用程序-命名-确定

二、选择源文件-添加-新建项

三、选择C++文件-命名.c-添加

四、输入如下程序

#include stdio.h

int main()

{

int a,b,A,B;

int lol,lpl;

printf ("输入两个整数:\n");

scanf ("%d%d",a,b);

A=a;

B=b;

if(B)

while((A %= B) (B %= A));

lol = A+B;

lpl = a*b/lol;

printf ("最小公倍数为:%d\n", lpl);

return 0;

}

五、按键Ctrl+F5开始执行(不调试),输入两个整数之间用空格隔开,回车即可得到两个整数的最小公倍数

 扩展资料:

辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。

它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

两个数的最大公约数是指能同时整除它们的最大正整数。

设两数为a、b(a2b),求a和b最大公约数(a,b)的步骤如下:

(1)用a除以b(a2b),得a÷b=q..n(0≤n)。

(2)若rn=0,则(a,b)=b;

(3)若r10,则再用b除以n,得b÷n=q..2(0sr2)

(4)若r2=0,则(a,b)=rn;若r20,则继续用r1除以r2,.…,如此下去,直到能整除为止。

其最后一个余数为0的除数即为(a,b)的最大公约数。