遞歸函數(shù)的使用案例,以及每個案例的分析與注釋

/*function fn(num){

return num===1? 1:(num*fn(num-1));//這里特殊情況就是1的階乘始終都是1,后面返回值是通過分析10!=10*9!,9!=9*8!,一個個遞歸而來,所以直接調用遞歸函數(shù)

}

console.log(fn(5));*/

/*定義遞歸函數(shù)計算菲波拉契數(shù)列,它主要是計算第幾項的值,前兩項不變始終都是1,只有從第三項開始變化,所以做循環(huán)也是從第三項開始做循環(huán)*/

/* function fn(num){

return num<=2? 1:(fn(num-1)+fn(num-2));//需要知道前兩項始終都是1;所以返回值為1,后面返回值通過分析房f(4)=f(3)+f(2),f(3)=f(2)+f(1)

}

for(var i=1;i<=15;i++){

console.log(fn(i));//這是一次輸出15個項每項的內容

}*/

/*遞歸函數(shù)計算兩個數(shù)輾轉相除,得出最大公約數(shù)*/

/*function fn(m,n){

var r=m%n;

m=n;

n=r;

return r!==0 ? fn(m,n):m;//為什么這么寫的主要是因為,求最大公約數(shù)循環(huán)的步驟就是這樣,直到m%n的余數(shù)為0,結束

}

console.log(fn(4,12));*/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容