java遞歸算法經(jīng)典實(shí)例 如何計(jì)算遞歸函數(shù)的調(diào)用次數(shù)?
如何計(jì)算遞歸函數(shù)的調(diào)用次數(shù)?#包括和限制。H>int max=0//count times int factorial(int n){int sum=0If(n==1)sum=1else sum=
如何計(jì)算遞歸函數(shù)的調(diào)用次數(shù)?
#包括和限制。H>int max=0//count times int factorial(int n){int sum=0If(n==1)sum=1else sum=factorial(n-1)*nmax return sum}void main(){//列出5的階乘,調(diào)用函數(shù)體factorial(5)printf(%d,max)}
多次步驟:在函數(shù)體外部創(chuàng)建一個(gè)全局變量,然后在函數(shù)內(nèi)部調(diào)用當(dāng)條件滿足時(shí)使其變?yōu)?。變量的最后一個(gè)輸出是調(diào)用數(shù)。下面是一個(gè)C(factoring n)的例子:摘要:使用全局變量。當(dāng)然,也可以在函數(shù)中定義一個(gè)靜態(tài)變量,然后每次調(diào)用該函數(shù)時(shí)將其增量為1。如果不使用后者,則在其他函數(shù)中獲取此函數(shù)的調(diào)用次數(shù)會(huì)很麻煩!