我是新來的遞歸和我的老師給了我們這樣的代碼來檢查:需要一些幫助解釋這個遞歸碼
public long rudolph(long a, long b){
if(b==0)
return a;
else
return rudolph(b, a % b);
}
我嘗試用不同的值的遵循邏輯,每一次B,而我無法理解結果。如何解決這個問題而不運行它?基本上試圖弄清楚這個代碼通常會做什麼。
例如:
if a = 9 and b = 7:
return rudolph(7,2);
return rudolph(2,1);
return rudolph(1,0);
return 1
if a = 10 and b = 5:
return rudolph(5,0);
return 5
if a = 5 and b = 2:
return rudolph(2,1);
return rudolph(1,0);
return 1
向我們展示你計算 –
的最後一個例子是不正確的什麼值。 – Henry
http://en.wikipedia.org/wiki/Euclidean_algorithm – Pshemo