int count(int S[], int m, int n)
{
if (n == 0)
return 1;
if (n < 0)
return 0;
if (m <= 0 & & n >= 1)
return 0;
return count(S, m - 1, n) count(S, m, n - S[m - 1]) 。
}
是否以count(S, m - 1, n)結束,然后以下一個count(S, m, n - S[m - 1])開始?還是必須有兩個人同時從兩邊進行計算?對于count(S, m, n - S[m - 1])來說,count(S, m - 1, n)是否會有任何數值變化?
這里是我完整的代碼
uj5u.com熱心網友回復:
見評價順序
in
return count(S, m - 1, n) count(S, m, n - S[m - 1] )。
我們只是有這樣的保證:
S、m-1(第一個)和n在count(S, m - 1, n)m-1(第二個)在S[m - 1]S[m - 1]在n - S[m - 1]S、m和n - S[m - 1]在count(S, m, n - S[m - 1])特別是
count(S, m - 1, n)可以在count(S, m, n - S[m - 1])之前或之后計算(而且對于任何呼叫來說都是如此)(而且它們不能 "重疊",一個在另一個之前計算)。
幸運的是,count沒有副作用,也沒有改變它們的引數,所以在你的情況下任何順序都是正確的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/319313.html
標籤:
