首先,跟你说一下,编程不要怕,你会有很多算法不会的
慢慢来,慢慢学
回到这题
思路:
1.将两整数求余 a%b = c
2.如果c = 0;则b为最大公约数
3.如果c != 0,则 a = b;b = c;继续从1开始执行
4.也就是说该循环的是否继续的判断条件就是c是否为0
举例说明:
a = 21 b = 28
c = a%b = 21%28 = 21, 则c = 21 此时c不为0
执行 a = b , b = c , a = 28 ,b = 21
c = a%b = 28%21 = 7 ,则c = 7 此时c不为0
执行 a = b , b = c , a = 21 , b = 7
c = a%b = 21%47 = 0 ,则c = 0 循环结束
t=n1%n2;
return n1;
用的方法是辗转相除法,循环里有将n2赋值为t,但t没处置,那么第一个空肯定是给t赋值,循环终止条件n2=0,n2=t,那么两者都是0,三个参数,显然只有n1可以作为参数返回。
你是不是在备战计算机二级?
辗转相除法