兩個數求最小公倍數C語言
Ⅰ c語言最小公倍數的求法
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,這兩個整數的最小公倍數一定大於等於它們的最大值,同時小於等於它們的積。按從小到大的順序遍歷整個范圍內的所有整數,第一個公因數即為它們的最小公倍數。【不考慮負數,求負數的最小公倍數本就是無意義的(相當於求兩個正數的最大公倍數)】
Ⅱ 用c語言編程輸入兩個整數,求其最大公約數和最小公倍數
#include"stdio.h"
main()
{
intm,n,t,h,a,b,q;
printf("輸入m,n的值:");
scanf("%d%d",&m,&n);
a=m;
b=n;
if(n>m)
{t=m;m=n;n=t;}
while(m%n!=0)
{h=n;n=m%n;m=n;}
a=a/n;b=b/n;q=a*b*n;
printf("兩數最大公約數為%d,最小公倍數為%d ",n,q);
}
Ⅲ c語言編程:從鍵盤輸入兩個數,求它們的最小公倍數
main()
{
int p,r,n,m,temp;
printf("Please enter 2 numbers n,m:");
scanf("%d,%d",&n,&m);//輸入兩個正整數.
if(n<m)//把大數放在n中,把小數放在m中.
{temp=n;
n=m;
m=temp;
}
p=n*m;//P是原來兩個數n,m的乘積.
while(m!=0)//求兩個數n,m的最大公約數.
{
r=n%m;
n=m;
m=r;
}
printf("Its MAXGongYueShu:%d\n",n);//列印最大公約數.
printf("Its MINGongBeiShu:%d\n",p/n);列印最小公倍數.
基本原理如下:
用歐幾里德演算法(輾轉相除法)求兩個數的最大公約數的步驟如下:
先用小的一個數除大的一個數,得第一個余數;
再用第一個余數除小的一個數,得第二個余數;
又用第二個余數除第一個余數,得第三個余數;
這樣逐次用後一個數去除前一個余數,直到余數是0為止。那麼,最後一個除數就是所求的最大公約數(如果最後的除數是1,那麼原來的兩個數是互質數)。
例如求1515和600的最大公約數,
第一次:用600除1515,商2餘315;
第二次:用315除600,商1餘285;
第三次:用285除315,商1餘30;
第四次:用30除285,商9餘15;
第五次:用15除30,商2餘0。
1515和600的最大公約數是15。
兩個正整數的最小公倍數=兩個數的乘積÷兩個數的最大公約數
由於兩個數的乘積等於這兩個數的最大公約數與最小公倍數的積。這就是說,求兩個數的最小公倍數,可以先求出兩個數的最大公約數,再用這兩個數的最大公約數去除這兩個數的積,所得的商就是兩個數的最小公倍數。
例 求105和42的最小公倍數。
因為105和42的最大公約數是21,
105和42的積是4410,4410÷21=210,
所以,105和42的最小公倍數是210。
Ⅳ c語言編程,求兩個數的最大公約數和最小公倍數
這樣寫:
#include
void
main()
{
int
m,n,i,r,temp;
printf("請輸入第一個數的值:
");
scanf("%d",&m);
printf("請輸入第二個數的值:
");
scanf("%d",&n);
if(n>m)
{
temp=m;
m=n;
n=temp;
}
i=n;
while(i%m!=0)
{
i=i+n;
}
printf("最小公倍數是:%d
\n",i);
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("最大公約數是:%d
\n",n);
}
圖:
Ⅳ 用C語言編寫程序求兩個數的最小公倍數,並輸出
如圖使用輾轉相除法求最小公倍數:
(5)兩個數求最小公倍數C語言擴展閱讀:
輾轉相除法, 又名歐幾里德演算法(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)的最大公約數。
Ⅵ c語言求最小公倍數的方法
1、對於輸入的兩個正整數m和n每次輸入的大小順序可能不同,為了使程序具有一般性,首先對整數所m和n進行大小排序,規定變數m中存儲大數、變數n中存儲小數。
程序