4
我想使用遞歸來設定一些問題集,但每次我的返回值是。在C中返回錯誤值的遞歸函數#
這裏是我的功能
static int numberOfCoins(int n, int counter)
{
if (n >= 25)
{
counter++;
numberOfCoins(n - 25,counter);
}
else if (n >= 10)
{
counter++;
numberOfCoins(n - 10,counter);
}
else if (n >= 5)
{
counter++;
numberOfCoins(n - 5, counter);
}
else if (n > 0)
{
counter++;
numberOfCoins(n - 1, counter);
}
return counter;
}
這裏是我的電話
int returnValue = numberOfCoins(32, 0);
Console.WriteLine("counter: " + returnValue);
的目標是回到更改用戶給他的硬幣數量儘可能少,可用硬幣是25,10, 5和1,所以在這種情況下,return value
應該是。 我用的斷點和一切工作正常,直到最後一分鐘,其中計數器將來自值
讓我再說一遍,我可以使用循環很容易地解決這個問題,但我的目標是要了解recursion
更好。 任何建議是有幫助的,謝謝你的時間。
提示:不關你的遞歸調用做因爲你不使用從他們的返回值有用的東西。你正在做一堆工作,但忽略了結果。 –