#include stdio.h
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作易于使用并且具有良好的響應(yīng)性。
int gcd(int a,int b)
{return b?gcd(b,a%b):a;
}
int main()
{ int a,b;
scanf("%d%d",a,b);
printf("%d\n",a*b/gcd(a,b));
return 0;
}
如圖使用輾轉(zhuǎn)相除法求最小公倍數(shù):
方法步驟:
一、打開VC2010(或其他C語言編譯器),新建項(xiàng)目-選擇Win32為控制臺(tái)應(yīng)用程序-命名-確定
二、選擇源文件-添加-新建項(xiàng)
三、選擇C++文件-命名.c-添加
四、輸入如下程序
#include stdio.h
int main()
{
int a,b,A,B;
int lol,lpl;
printf ("輸入兩個(gè)整數(shù):\n");
scanf ("%d%d",a,b);
A=a;
B=b;
if(B)
while((A %= B) (B %= A));
lol = A+B;
lpl = a*b/lol;
printf ("最小公倍數(shù)為:%d\n", lpl);
return 0;
}
五、按鍵Ctrl+F5開始執(zhí)行(不調(diào)試),輸入兩個(gè)整數(shù)之間用空格隔開,回車即可得到兩個(gè)整數(shù)的最小公倍數(shù)
擴(kuò)展資料:
輾轉(zhuǎn)相除法, 又名歐幾里德算法(Euclidean algorithm),是求最大公約數(shù)的一種方法。
它的具體做法是:用較大數(shù)除以較小數(shù),再用出現(xiàn)的余數(shù)(第一余數(shù))去除除數(shù),再用出現(xiàn)的余數(shù)(第二余數(shù))去除第一余數(shù),如此反復(fù),直到最后余數(shù)是0為止。如果是求兩個(gè)數(shù)的最大公約數(shù),那么最后的除數(shù)就是這兩個(gè)數(shù)的最大公約數(shù)。
兩個(gè)數(shù)的最大公約數(shù)是指能同時(shí)整除它們的最大正整數(shù)。
設(shè)兩數(shù)為a、b(a2b),求a和b最大公約數(shù)(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,則繼續(xù)用r1除以r2,.…,如此下去,直到能整除為止。
其最后一個(gè)余數(shù)為0的除數(shù)即為(a,b)的最大公約數(shù)。
#include stdio.h
int main()
{
int a,b,c,m,t;
printf("請輸入兩個(gè)數(shù):\n");
scanf("%d%d",a,b);
if(ab)
{
t=a;
a=b;
b=t;
}
m=a*b;
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf("最大公約數(shù)是:\n%d\n",b);
printf("最小公倍數(shù)是:\n%d\n",m/b);
}
擴(kuò)展資料
算法思想
利用格式輸入語句將輸入的兩個(gè)數(shù)分別賦給 a 和 b,然后判斷 a 和 b 的關(guān)系,如果 a 小于 b,則利用中間變量 t 將其互換。
再利用輾轉(zhuǎn)相除法求出最大公約數(shù),進(jìn)而求出最小公倍數(shù)。最后用格式輸出語句將其輸出。
#includestdio.h是在程序編譯之前要處理的內(nèi)容,稱為編譯預(yù)處理命令。編譯預(yù)處理命令還有很多,它們都以“#”開頭,并且不用分號結(jié)尾,所以是c語言的程序語句。