题目:利用欧几里得原理求解最大公约数。
欧几里得原理(又称辗转相除法):用较大的数除以较小的数,再用得到的余数除较小的数,接着用得到的余数去除上一次相除得到的余数,如此除下去直到得到的余数为0,最后一次除法的除数就是最大公约数。
例如:求144和56的最大公约数。
144/56=2......32; (或144%56=32)
56/32=1......24; (或56%32=24)
32/24=1......8; (或32%24=8)
24/8=3......0; (或24%8=0)
最后一次除法的除数为8,则得到144和56的最大公约数为8.
看完具体的例子,我们再来看抽象的例子:
假设有两个正整数a,b(a>b),求他们的最小公约数。
求解步骤如下:
a%b = r1(0<=r1<b):
若r1 = 0,则a,b的最大公约数为b;
若r1 != 0,则b%r1=r2:
若r2 = 0;则a,b的最大公约数为r1;
若r2 !=0,则r1%r2 = r3:
......