目錄
1.最大公約數(shù)求法
1.1輾轉(zhuǎn)相除法
1.2相減法
2.最小公倍數(shù)求法
3.代碼實(shí)現(xiàn)
4.結(jié)果展示
1.最大公約數(shù)求法
1.1輾轉(zhuǎn)相除法
設(shè)有兩整數(shù)a和b:
- a%b得余數(shù)c
- 若c==0,則b即為兩數(shù)的最大公約數(shù)
- 若c!=0,則a=b,b=c,再回去執(zhí)行第一步。
例如:求27和15的最大公約數(shù)過(guò)程為:
- 27÷15 余12
- 15÷12 余3
- 12÷3 余0
因此,3即為最大公約數(shù)。
1.2相減法
設(shè)有兩整數(shù)a和b:
- ?若a>b,則a=a-b
- ?若a<b,則b=b-a
- ?若a==b,則a(或b)即為兩數(shù)的最大公約數(shù)
- ?若a!=b,則再回去執(zhí)行第一步。
例如:求27和15的最大公約數(shù)過(guò)程為:
- 27-15=12( 15>12 )
- 15-12=3( 12>3 )
- 12-3=9( 9>3 )
- 9-3=6( 6>3 )
- 6-3=3( 3==3 )
因此,3即為最大公約數(shù)。
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-430329.html
2.最小公倍數(shù)求法
最小公倍數(shù)=兩整數(shù)的乘積÷最大公約數(shù)
?
3.代碼實(shí)現(xiàn)
#include <stdio.h>
int main()
{
int m,n,max,min,b,c;
printf("請(qǐng)輸入兩個(gè)整數(shù):\n");
scanf("%d%d",&m,&n);
c=m%n;
b=m*n;
while(c!=0)
{
m=n;
n=c;
c=m%n;
}
max=n;
min=b/max;
printf("\n最大公約數(shù)為:%d\n最小公倍數(shù)為:%d\n",max,min);
return 0;
}
?
4.結(jié)果展示
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-430329.html
?
到了這里,關(guān)于C語(yǔ)言——輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!