1、对于输入的两个正整数m和n每次输入的大小顺序可能不同,为了使程序具有一般性,首先对整数所m和n进行大小排序,规定变量m中存储大数、变量n中存储小数。
创新互联建站主要从事网站设计、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务汉中,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
C语言
2、输入的两个数,大数m是小数n的倍数,那么大数m即为所求的最小公倍数;若大数m不能被小数n整除则需要寻找一个能同时被两数整除的自然数。
从大数m开始依次向后递增直到找到第一个能同时被两数整除的数为止,所以循环变量i的初值为寻找第一个能同时被两整数整除的自然数,并将其输出。需要注意的是,在找到第一个满足条件的i值后,循环没必要继续下去,所以用break来结束循环。
3、在上面的分析过程中没有提到循环变量的终止条件,因i的最大值不能确定,像这种终止条件不确定的情况如何来表示?方法有两种,第一,可以把判定条件表示成循环变量满足的基本条件,如本例终止条件可表示成i0;第二,终止条件省略不写,利用循环体中的语句结束循环,如在找到第一个满足条件的自然数时利用break语句结束循环。
程序
按照数学定义求。
最简单的 从较大数开始,一直累加出一个两个的共同倍数。
也可以先求最大公约数 然后用两个数的积除以最大公约数
int func(int a, int b)
{
int r;
for( r=a; ; r++)
if(r%a==0 r%b==0) break;
return r;
}
【利用C语言求最小公倍数主要用到if
whie循环】
例子如下:
直接编译,程序输出结果中任意输入两个数,如5和8,然后按回车,结果如下图所示:
两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。
c语言最小公倍数的求法如下:
两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。
与最小公倍数相对应的概念是最大公约数,a,b的最大公约数记为(a,b)。关于最小公倍数与最大公约数,我们有这样的定理:(a,b)x[a,b]=ab(a,b均为整数)。
方法一:穷举法
假设有两个整数num1和num2,这两个整数的最小公倍数一定大于等于它们的最大值,同时小于等于它们的积。按从小到大的顺序遍历整个范围内的所有整数,第一个公因数即为它们的最小公倍数。【不考虑负数,求负数的最小公倍数本就是无意义的(相当于求两个正数的最大公倍数)】
方法二:定理法
使用定理求最小公倍数(两个整数的最小公倍数等于两数之积除以两个数的最大公因数),需要先求出两个整数的最大公因数,最大公因数这里采用辗转相除法。(最大公因数的求法可以参考我上一篇文章——第68天:求最大公约数(使用三种方法))【不考虑负数,求负数的最小公倍数本就是无意义的(相当于求两个正数的最大公倍数)】
主要是辗转相除法。
方法一、不设函数
#include
stdio.h
int
main
()
{int
p,r,n,m,temp;
printf("please
enter
two
positive
integer
numbers
n,m:");
scanf("%d
%d",n,m);
if
(nm)
{temp=n;
n=m;
m=temp;
//把大数放在n中,
小数放在m中
}
p=n*m;
//先将n和m的乘积保存在p中,
以便求最小公倍数时用
while
(m!=0)
//求n和m的最大公约数
{r=n%m;
n=m;
m=r;
}
printf("HCF=%d\n",n);
printf("LCD=%d\n",p/n);
//
p是原来两个整数的乘积
return
0;
}
方法二、调用函数
#include
stdio.h
int
main
()
{int
p,r,n,m,temp;
printf("please
enter
two
positive
integer
numbers
n,m:");
scanf("%d
%d",n,m);
if
(nm)
{temp=n;
n=m;
m=temp;
//把大数放在n中,
小数放在m中
}
p=n*m;
//先将n和m的乘积保存在p中,
以便求最小公倍数时用
while
(m!=0)
//求n和m的最大公约数
{r=n%m;
n=m;
m=r;
}
printf("HCF=%d\n",n);
printf("LCD=%d\n",p/n);
//
p是原来两个整数的乘积
return
0;
}
c语言最小公倍数:
【利用C语言求最小公倍数主要用到ifwhie循环】例子:直接编译,程序输出结果中任意输入两个数,如5和8,然后按回车,两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。
含义
最小公倍数的适用范围:分数的加减法,中国剩余定理(正确的题在最小公倍数内有解,有唯一的解)。因为,素数是不能被1和自身数以外的其它数整除的数;素数X的N次方,是只能被X的N及以下次方,1和自身数整除。所以,给最小公倍数下一个定义:S个数的最小公倍数,为这S个数中所含素因子的最高次方之间的乘积。