设现在有两个数:x>y;x%y=c; (余数为c,最大公因数为z)
那么有:x=ny+c(n为整数);
此时,当c不为0时,z肯定要小于等于c。
因为当c<z<y且z可以被y整除的时候,ny%z=0,c%z!=0,,此时x=ny+c中,ny可以被z整除,c不可以,那么x肯定不能被z整除;所以z<=c;
又有,x>y取最大公约数z,z肯定小于等于y,此再用y来与c比较,如果y%c=0,那么ny%c=0,c%c=0,即(ny+c)%c=0,即x%c=0;如果y%c!=0,y和c将成为新的x和y循环下去;