问题是如何求出两个数字的最大公约数? 一般的想法是暴力,检测1、2、n (最小数量),分别检测能被这些数量中的两个数整除的最大数量。 另一种辗转相除算法可以求出最大公约数
例如,a=16,b=12
16除12=1馀4
以下12被除数、4除数
12除4=3多0
那么4是最大公约数
也不用担心两个数谁会除以谁。 因为12除以16时,商是0,馀数是12,这次又回到了16除以12的地方。
代码voidget_gcd(inta,int b ) {int r=a%b; while(R0 ) B=A; a=r; r=a%b; }printf('%d(n ),a ); }