請,如果有人幫我在這裏,我會非常gratefull!析因 - 「工作結構」
下面是簡單的代碼爲階乘:
using System;
namespace CalculatorApplication
{
class NumberManipulator
{
public int factorial(int num)
{
/* local variable declaration */
int result;
if (num == 1)
{
return 1;
}
else
{
result = factorial(num - 1) * num;
return result;
}
}
static void Main(string[] args)
{
NumberManipulator n = new NumberManipulator();
//calling the factorial method
Console.WriteLine("Factorial of 6 is : {0}", n.factorial(5));
Console.ReadLine();
}
}
}
OK,我quuestion是我們如何實現從5得到正確的階乘(FE,我們得到5 * 4 * 3 * 2 * 1 爲什麼不。 「T我們獲得5×4 = 20或:
5 * 4 * 4 * 3 * 3 * 2 * 2 * 1 * 1 * 1藿我們 「錯過」 在這裏對4 * 3 - 處理器如何知道錯誤的對 - 換句話說,不久之後,我們必須乘以多少處理器REMEMBERS數字(5,4,3,2) ,1)沒有一種迴路
P.我可以清楚地知道發生了什麼,如果它是一種noraml LOOP,但我不明白它「重寫」爲遞歸...請,如果有人能夠一步一步地清楚處理器頭部正在發生什麼......許多感謝!!! - 我不確定這是一個簡單的問題!
謝謝,我回到這個話題,仍然沒有100%清楚... –