最小公倍数

一、定义

        1.两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。

        2.与最小公倍数相对应的概念是最大公约数,a,b的最大公约数记为(a,b)。关于最小公倍数与最大公约数,我们有这样的定理:(a,b)x[a,b]=ab(a,b均为整数)。

二、性质及特点

       1. 最小公倍数的性质:公倍数(common multiple)指在两个或两个以上的自然数中,如果它们有相同的倍数,这些倍数就是它们的公倍数,其中除0以外最小的一个公倍数,叫做这几个数的最小公倍数。

        2.最大公因数和最小公倍数之间的性质:两个自然数的乘积等于这两个自然数的最大公约数和最小公倍数的乘积。最小公倍数的计算要把三个数的公有质因数和独有质因数都要找全,最后除到两两互质为止。

        3.最小公倍数特点:倍数的只有最小的没有最大,因为两个数的倍数可以无穷大。

        4.最小公倍数计算方法:

        (1)分解质因数法

        (2)公式法。

三、适用范围

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

        将最小公倍数应用到实际中,称之为最小公倍数法。最小公倍数法是统计学的一个术语,以各备选方案计算期的最小公倍数作为比选方案的共同计算期,并假设各个方案均在这样一个共同的计算期内重复进行。

四、计算方法

1.分解质因数法

        先把这几个数的质因数写出来,最小公倍数等于它们所有的质因数的乘积(如果有几个质因数相同,则比较两数中哪个数有该质因数的个数较多,乘较多的次数)。

最大公约数,最小公倍数

2.公式法

        由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)×[a,b]=a×b。所以,求两个数的最小公倍数,就可以先求出它们的最大公约数,然后用上述公式求出它们的最小公倍数。

        例如,求[18,20],即得[18,20]=18×20÷(18,20)=18×20÷2=180。求几个自然数的最小公倍数,可以先求出其中两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数,依次求下去,直到最后一个为止。最后所得的那个最小公倍数,就是所求的几个数的最小公倍数。

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

        解:15×1=15,15×6=90;

                当a1b1分别是1和6时,a、b分别为15×1=15,15×6=90;

                当a2b2分别是2和3时,a、b分别为15×2=30,15×3=45。

                所以,这两个数是15和90或者30和45。

例题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。

五、参考程序

#include<iostream>

using namespace std;

int GCD(int a,int b);

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(num2,num1%num2);

}

int LCM(int a,int b)

{

int temp_lcm;

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

return temp_lcm;

}

备注:参考百度百科,仅限内部使用

posted @   ddfy198811  阅读(1140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示