最小公倍数c语言算法

Python011

最小公倍数c语言算法,第1张

求最小公倍数算法:

最小公倍数=两整数的乘积÷最大公约数

求最大公约数算法:

辗转相除法。

有两整数a和b:

①a%b得余数c。

②若c=0,则b即为两数的最大公约数。

③若c≠0,则a=b,b=c,再回去执行①。

例如求27和15的最大公约数过程为:

27÷15余1215÷12余312÷3余0因此,3即为最大公约数。

相减法:

有两整数a和b:

①若a>b,则a=a-b。

②若a<b,则b=b-a。

③若a=b,则a(或b)即为两数的最大公约数。

④若a≠b,则再回去执行①。

例如求27和15的最大公约数过程为:

27-15=12( 15>12 ) 15-12=3( 12>3 )。

12-3=9( 9>3 ) 9-3=6( 6>3 )。

6-3=3( 3==3 )。

因此,3即为最大公约数。

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

C语言

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

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

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

程序