Input
輸入包含多組測試數(shù)據(jù),每組只有一行,包括兩個(gè)不大于1000的正整數(shù).
Output
對于每個(gè)測試用例,給出這兩個(gè)數(shù)的最小公倍數(shù),每個(gè)實(shí)例輸出一行。
Sample Input
10 14
Sample Output
70
最小公倍數(shù)=兩整數(shù)的乘積÷最大公約數(shù)
求最大公約數(shù)算法:
(1) 輾轉(zhuǎn)相除法
有兩整數(shù)a和b:
1.a%b得余數(shù)c
2.若c=0,則b即為兩數(shù)的最大公約數(shù)
3.若c≠0,則a=b,b=c,再回去執(zhí)行1
c++代碼,已通過:
#include "stdio.h"
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
int c,a1=a,b1=b;
if(a
{
c=a;
a=b;
b=c;
}
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf("%d\n",a1*b1/b);
}
}
⑵ 相減法
有兩整數(shù)a和b:
1.若a>b,則a=a-b
2.若a
3.若a=b,則a(或b)即為兩數(shù)的最大公約數(shù)
4.若a≠b,則再回去執(zhí)行1。
c++代碼,已通過:
#include "stdio.h"
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
int a1=a,b1=b;
while(a!=b)
{
if(a>b)a=a-b;
else b=b-a;
}
printf("%d\n",a1*b1/b);
}
}