望老鸟赐教
main()
{int a,b,n1,n2,t;
scanf("%d%d",&n1,&n2);
if(n1<n2)
{t=n1;n1=n2;n2=t;
}
a=n1; b=n2;
while(b!=0)
{t=a%b;
a=b;
b=t; }
printf("a=%d\n",a);
printf("%d\n",n1*n2/a);
getch();
printf("************\n");
}
这个求最大公约数和最小公倍数的算法是怎么一回事呀??
望老鸟不吝赐教。
----------------解决方案--------------------------------------------------------
展转相除法
发明人: 欧几里得
例题:求M和N的最大公约数;(假设M 是大数)
一:先求出 M N 中较大者;
二:大数除以小数;若能除尽 小数就为他们的最大公约数;如里不是请看下面;
三:将原来小数作大数用; 那M/N 的余数作小数;返回第二步;
四:直到大数除以小数除尽;
----------------解决方案--------------------------------------------------------
谢谢了 小心
可是这种算法只能求最大公约数么?
哎!!只能羡慕发明者的脑袋了,呵呵
----------------解决方案--------------------------------------------------------