问题描述
package sjch;public class MaxGongYueTest {public int gys(int m,int n){int temp;if(m==0){return n;}if(n==0){return m;}if(m<n){temp = m;m = n;n = temp;}int c = n; //请问这句话的含义啊while(c !=0){c = m%n;m = n;n = c;}return m;}public static void main(String[] args) {MaxGongYueTest mt = new MaxGongYueTest();int r = mt.gys(1432, 54);System.out.println(r);}} 问题补充:redstarofsleep 写道
解决方案
因为while(c !=0),所以c需要初始化,经过第一步的转换n是2个数中小的那个,所以把c初始化为n,如果n=0,那么就不用求了,返回m
解决方案二:
你这是求最大公约数吧这句是把C初始化为m和n中小的那个
解决方案三:
呵呵 。n同前几个不同的逻辑处理,得到最终的结果,那么int c = n;是把你得到的n 再次给了c变量呗。c按照程序上理解,可能是起到一个承接的作用。
时间: 2024-09-20 08:07:53