C語言程序,這里頭if(a<b)return gcd(b,a);if(a%b==0)return b;return gcd(b,a%b);不懂gcd(,)表示的什么意思大神求解
3 回答

桃花長相依
TA貢獻1860條經(jīng)驗 獲得超8個贊
這是求最大公約數(shù),用的碾轉相除法,return gcd(b,a%b);是當a%b不是0是遞歸調(diào)用gcd,只不過原來函數(shù)的a變成b,b變成a%b,繼續(xù)上面步驟
void func( mode)
{
if(endCondition)
{
constExpression //基本項
}
else
{
accumrateExpreesion //歸納項
mode=expression //步進表達式
func(mode) //調(diào)用本身,遞歸
}
}

慕工程0101907
TA貢獻1887條經(jīng)驗 獲得超5個贊
gcd是函數(shù)名,這個函數(shù)的意義是用輾轉相除法求最大公約數(shù)。
這是個一個遞歸調(diào)用,return 是返回,但不一定是返回main函數(shù),因為是遞歸,調(diào)用的有可能就是它自己,而不是main函數(shù),所以返回給上一層調(diào)用它的那個地方。

搖曳的薔薇
TA貢獻1793條經(jīng)驗 獲得超6個贊
gcd(,)表示 調(diào)用 gcd 方法 ,括號里面是方法的參數(shù);
gcd 本身是個遞歸函數(shù)。
return 作用是返回值 給調(diào)用者
- 3 回答
- 0 關注
- 158 瀏覽
添加回答
舉報
0/150
提交
取消