打开主菜单

求真百科

最小公倍数

最小公倍数,两个或多个整数公有的倍数叫做它们的公倍数。两个或多个整数的公倍数里最小的那一个叫做它们的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。[1] 与最小公倍数相对应的概念是最大公约数,a,b的最大公约数记为(a,b)。

最小公倍数

关于最小公倍数与最大公约数,我们有这样的定理:

(a,b)[a,b]=ab(a,b均为整数) [2]

目录

基本简介

最小公倍数(Least Common Multiple,缩写L.C.M.),如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数,对于两个自然数来说,指该两数共有倍数中最小的一个。计算最小公倍数时,通常会借助最大公约数来辅助计算

如果一个数既是a又是b的倍数,那么我们就把这个数叫着a和b的公倍数,如果这个数在a b的所有公倍数里为最小,那这个数就是最小公倍数。

概念定义

几个数共有的倍数叫做这几个数的公倍数,其中除0以外最小的一个公倍数,叫做这几个数的最小公倍数。自然数a、b的最小公倍数可以记作[a、b],自然数a、b的最大公因数可以记作(a、b),当(a、b)=1时,[a、b]= a×b。

如果两个数是倍数关系,则它们的最小公倍数就是较大的数,相邻的两个自然数的最小公倍数是它们的乘积。

最小公倍数=两数的乘积/最大公约(因)数, 解题时要避免和最大公约(因)数问题混淆。

最小公倍数的适用范围:分数的加减法,中国剩余定理(正确的题在最小公倍数内有解,有唯一的解).

因为,素数是不能被1和自身数以外的其它数整除的数;素数X的N次方,是只能被X的N-1以下次方,1和自身数整除.

所以,在求A,B,C,D,E,…,Z的最小公倍数时,只需要把这些数分解为素数的N次方之间的乘积后,取各素因子的最高次方的乘积,就是这些数的最小公倍数.

举例说明

例如,2,4分别是2的1次方和2次方,最高次方为2的2次方,所以2和4的最小公倍数是4。3,5的最小公倍数是15,同样5和6这两个数最小公倍数就是他们的乘积30。

求756,4400,19845,9000的最小公倍数?

因756=2×2×3×3×3×7,4400=2×2×2×2×5×5×11,19845=3×3×3×3×5×7×7,9000=2×2×2×3×3×5×5×5,这里有素数2,3,5,7,11.2最高为4次方16,3最高为4次方81,5最高为3次方125,7最高为2次方49,还有素数11.所以得最小公倍数为16*81*125*49*11=87318000.

示例例题

两个数的最大公因数是15,最小公倍数是90,求这两个数分别是多少?

15×1=15,15×6=90;当a1b1分别是2和3时,a、b分别为15×2=30,15×3=45。所以,这两个数是15和90或者30和45。

练习一

1,两个数的最大公因数是9,最小公倍数是90,求这两个数分别是多少?

答:9×1=9,9×10=90;当数a1和b1分别是2和5时,a、b分别为9×2=18,9×5=45。所以,这两个数是9和90或者18和45。

2,两个数的最大公因数是12,最小公倍数是60,求这两个数的和是多少?

答:12×1=12,12×10=120;当数a1和b1分别是1和5时,a、b分别为12×1=12,12×5=60。所以,这两个数是12和60,为此两数的和就为:72。

3,两个数的最大公因数是60,最小公倍数是720,其中一个数是180,另一个数是多少?

答:180÷60=3 ,720÷60=12,12÷3=4,4×60=240;因此另一个数是240.

例题2

两个自然数的积是360,最小公倍数是120,这两个数各是多少?

分析我们把这两个自然数称为甲数和乙数。因为甲、乙两数的积一定等于甲、乙两数的最大公因数与最小公倍数的积。根据这一规律,我们可以求出这两个数的最大公因数是360÷120=3。又因为(甲÷3=a,乙÷3=b)中,3×a×b=120,a和b一定是互质数,所以,a和b可以是1和40,也可以是5和8。当a和b是1和40时,所求的数是3×1=3和3×40=120;当a和b是5和8时,所求的数是3×5=15和3×8=24。

练习二

1,求36和24的最大公因数和最小公倍数的乘积。

2,已知两个数的积是3072,最大公因数是16,求这两个数。

3,已知两个数的最大公因数是13,最小公倍数是78,求这两个数的差。

例题3

甲、乙、丙三人是朋友,他们每隔不同天数到图书馆去一次。甲3天去一次,乙4天去一次,丙5天去一次。有一天,他们三人恰好在图书馆相会,问至少再过多少天他们三人又在图书馆相会?

分析从第一次三人在图书馆相会到下一次再次相会,相隔的天数应该是3、4、5的最小公倍数。因为3、4、5的最小公倍数是60,所以至少再过60天他们三人又在图书馆相会。

练习三

1,1路、2路和5路车都从东站发车,1路车每隔10分钟发一辆,2路车每隔15分钟发一辆,而5路车每隔20分钟发一辆。当这三种路线的车同时发车后,至少要过多少分钟又这三种路线的车同时发车?

2,甲、乙、丙从同一起点出发沿同一方向在圆形跑道上跑步,甲跑一圈用120秒,乙跑一圈用80秒,丙跑一圈用100秒。问:再过多少时间三人第二次同时从起点出发?

3,五年级一班的同学每周一都要去看军属张爷爷,二班的同学每6天去看一次,三班的同学每两周去看一次。如果“六一”儿童节三个班的同学同一天去看张爷爷,那么,再过多少天他们三个班的同学再次同一天去张爷爷家?

例题4

一块砖长20厘米,宽12厘米,厚6厘米。要堆成正方体至少需要这样的砖头多少块?

分析把若干个长方体叠成正方体,它的棱长应是长方体长、宽、高的公倍数。现在要求长方体砖块最少,它的棱长应是长方体长、宽、高的最小公倍数,求出正方体棱长后,再根据正方体与长方体体积之间的关系就能求出长方体砖的块数。

练习四

1,用长9厘米、宽6厘米、高7厘米的长方体木块叠成一个正方体,至少需要用这样的长方体多少块?

2,有200块长6厘米、宽4厘米、高3厘米的长方体木块,要把这些木块堆成一个尽可能大的正方体,这个正方体的体积是多少立方厘米?

3,一个长方体长2.7米、宽1.8分米、高1.5分米,要把它切成大小相等的正方体小块,不许有剩余,这些小正方体的棱长最多是多少分米?

例题5

甲每秒跑3米,乙每秒跑4米,丙每秒跑2米,三人沿600米的环形跑道从同一地点同时同方向跑步,经过多少时间三人又同时从出发点出发?

分析甲跑一圈需要600÷3=200秒,乙跑一圈需要600÷4=150秒,丙跑一圈需要600÷2=300秒。要使三人再次从出发点一齐出发,经过的时间一定是200、150和300的最小公倍数。200、150和300的最小公倍数是600,所以,经过600秒后三人又同时从出发点出发。

练习五

1,有一条长400米的环形跑道,甲、乙二人同时同地出发,反向而行,1分钟后第一次相遇;若二人同时同地出发,同向而行,则10分钟后第一次相遇。已知甲比乙快,求二人的速度。

2,一环形跑道长240米,甲、乙、丙从同一处同方向骑车而行,甲每秒行8米,乙每秒行6米,丙每秒行5米。至少经过几分钟,三人再次从原出发点同时出发?

3,甲、乙、丙三人在一条长240米的跑道上来回跑步,甲每秒跑4米,乙每秒跑5米,丙每秒跑3米。若三人同时从一端出发,再经过多少时间三人又从此处同时出[1]发?

应用实例:

分元宝

亡故的先父留下遗嘱,

共有遗产17个元宝,

老大得元宝的二分之一、 17/2=8.5

老二得元宝的三分之一、 17/3=5.66666

老三得元宝的九分之一、 17/9=1.8

问他们每一个人分别应该分几个元宝?

在《一代大商孟洛川》中是这样做的

孟洛川拿来一个元宝加上去

好了,现在分元宝

答案是:老大9个元宝、老二6个元宝、老三2个元宝。

还剩下一个元宝,是我们孟洛川的,拿回来

很不可思议吧

很简单的初中数学题老大分1/2,老二分1/3,老三分1/9

这三个数的最小公倍数就是18,即9/18+6/18+2/18=17/18,就是说他们老爷子给的这个比例和根本就没到1,。即1-17/18=1/18,也就是说,直接分,那是分不完17元宝的。这样这要用18这个最小公倍数就能分开,最后还剩一个

程序实现

PASCAL语言实现:

1、var a,b,ans:integer;

function gcd(a,b:integer):longint;

begin

if b=0 then gcd:=a

else gcd:=gcd(b,a mod b ) ;

end;

2、var a,b,ans:integer;

function gcd(a,b:integer):longint;

begin

readln(a,b );

ans:=(a*b) div gcd(a,b);

write(ans);

end.

C语言实现:

  1. include <stdio.h>
  1. pragma warning(disable:4996)

int GCD(int a, int b);

int LCM(int a, int b);

int main(){int num1, num2, gcd, lcm;

printf("求两个数的最大公约数及最小公倍数 \n\n请输入你想计算的两个数:\n");

scanf("%d%d",&num1,&num2);

gcd=GCD(num1,num2);

lcm=LCM(num1,num2);

printf("最大公约数为:%d \n最小公倍数为:%d\n",gcd,lcm);

return 0;}int GCD(int num1, int num2)

{if ( num1 % num2 == 0)

{return num2;}else

{returnGCD( num2,num1 % num2) ;}

}int LCM(int a,int b){int temp_lcm;temp_lcm = a * b / GCD(a,b); //最小公倍数等于两数之积除以最大公约数

return temp_lcm;}C++程序实现

  1. include <iostream>

using namespace std;

int GCD(int num1, int num2);

int LCM(int a, int b);

int main(){int num1, num2, gcd, lcm;

cout<<"求两个数的最大公约数及最小公倍数"<<endl<<endl;

cout<<"请输入两个数:";

cin>>num1>>num2;

gcd = GCD(num1, num2);

lcm = LCM(num1, num2);

//输出最大公约数和最小公倍数

cout<<"最大公约数为:"<<gcd<<endl;

cout<<"最小公倍数为:"<<lcm<<endl;

system("pause");

return 0;

}int GCD(int num1, int num2){if ( num1 % num2 == 0)

{return num2;}else{return GCD ( num1, num1 % num2) ;}}int LCM(int a, int b)

{int temp_lcm;temp_lcm = a * b / GCD(a,b); //最小公倍数等于两数之积除以最大公约数

return temp_lcm;

参考来源