摘要:遞歸,函數(shù)自己調(diào)用自己返回值,后面的代碼不執(zhí)行之間,把所有能被并且能被整除的數(shù)獲到,然后累加求和循環(huán)遞歸之間,把所有能被整除的數(shù)獲到,然后累加求和以內(nèi)所有偶數(shù)積
遞歸,函數(shù)自己調(diào)用自己
return返回值,
后面的代碼不執(zhí)行
function fn(num){ console.log(num) if(num == 0){ return; } fn(num-1) } fn(10)1-100之間,把所有能被3并且能被5整除的數(shù)獲到,然后累加求和
for循環(huán)
function fn(num) { var sum = 0; for (var i = 0; i < num; i++) { if (i % 3 == 0 && i % 5 == 0) { sum += i; } } return sum; } console.log(fn(100))
遞歸
function fn(num) { if (num > 100) { return 0; } if (num % 15 == 0) { return num + fn(num + 1) } return fn(num + 1) } console.log(fn(1)); // 1 -> fn(1+1) // 2 -> fn(2+1) // ... //15 -> 15+fn(15+1) // 16 -> 15+fn(16+1) // 30 -> 15+fn(30+1); // 31 -> 15+30+fn(31+1) // ... // 15+30+45+60+75+90+fn(100) // 15+30+45+60+75+90+fn(101) => 15+30+45+60+75+90+0
1-10之間,把所有能被2整除的數(shù)獲到,然后累加求和
function fn(num) { if (num > 10) { return 0; } if (num % 2 == 0) { return num + fn(num + 1) } return fn(num + 1) } console.log(fn(1)); // 1 => fn(1+1) => fn(2) // 2 => 2+fn(2+1) => 2+fn(3) // 3 => 2+fn(3+1) => 2+fn(4) // 4 => 2+4+fn(4+1) => 2+4+fn(5) //.. //10 2+4+6+8+10+fn(11) //11 2+4+6+8+10+01-10以內(nèi)所有偶數(shù)積
function fn(num){ if(num<1){ return 1; } if(num%2 ==0){ return num* fn(num-1) } return fn(num-1) } var result = fn(10); console.log(result);
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/98931.html
摘要:這是一個簡單的遞歸函數(shù),你可以使用它來生成數(shù)列中指定序號的數(shù)值這個函數(shù)的問題在于它的執(zhí)行效率非常低有太多值在遞歸調(diào)用中被重新計算。 本章內(nèi)容銜接上一章 數(shù)據(jù)結(jié)構(gòu)與算法:二分查找 內(nèi)容提要 兩種基本數(shù)據(jù)結(jié)構(gòu): 數(shù)組 常見操作: 數(shù)組降維、數(shù)組去重 鏈表 遞歸:遞歸是很多算法都使用的一種編程方法 - 如何將問題分成基線條件和遞歸條件 - 分而治之策略解決棘手問題 ...
摘要:這是一個簡單的遞歸函數(shù),你可以使用它來生成數(shù)列中指定序號的數(shù)值這個函數(shù)的問題在于它的執(zhí)行效率非常低有太多值在遞歸調(diào)用中被重新計算。 本章內(nèi)容銜接上一章 數(shù)據(jù)結(jié)構(gòu)與算法:二分查找 內(nèi)容提要 兩種基本數(shù)據(jù)結(jié)構(gòu): 數(shù)組 常見操作: 數(shù)組降維、數(shù)組去重 鏈表 遞歸:遞歸是很多算法都使用的一種編程方法 - 如何將問題分成基線條件和遞歸條件 - 分而治之策略解決棘手問題 ...
摘要:在遞歸過程中,未完成計算的函數(shù)將會掛起壓入調(diào)用堆棧,不然遞歸結(jié)束的時候沒辦法進行回溯。這就引出了回溯法回溯法就是在達到遞歸邊界前的某層,由于一些事實導致已經(jīng)不需要前往任何一個子問題遞歸,就可以直接返回上一層。 1簡介 遞歸在前端開發(fā)中應(yīng)用還是非常廣泛的,首先DOM就是樹狀結(jié)構(gòu),而這種結(jié)構(gòu)使用遞歸去遍歷是非常合適的。然后就是對象和數(shù)組的深復制很多庫也是使用遞歸實現(xiàn)的例如jquery中的e...
摘要:上一篇數(shù)據(jù)結(jié)構(gòu)與算法集合字典一遞歸學習樹離不開遞歸。先序遍歷的一種應(yīng)用是打印一個結(jié)構(gòu)化的文檔下面的圖描繪了先序遍歷方法的訪問路徑后序遍歷后序遍歷則是先訪問節(jié)點的后代節(jié)點,再訪問節(jié)點本身。 上一篇:JS數(shù)據(jù)結(jié)構(gòu)與算法_集合&字典 一、遞歸 學習樹離不開遞歸。 1.1 介紹 遞歸是一種解決問題的方法,它解決問題的各個小部分,直到解決最初的大問題。遞歸通常涉及函數(shù)調(diào)用自身。 通俗的解釋:年級...
摘要:貌似大部分語言中的遞歸都差不多,之所以在標題加是因為搜了下后感覺網(wǎng)上用來描述這概念的不多,簡單地說遞歸就是函數(shù)調(diào)用自己的過程。 貌似大部分語言中的遞歸都差不多, 之所以在標題加JS是因為搜了下后感覺網(wǎng)上用js來描述這概念的不多, 簡單地說遞歸就是函數(shù)調(diào)用自己的過程。下面的栗子可以很直觀地展示遞歸的執(zhí)行過程: function rec(x){ if(x!==1){ console....
閱讀 1504·2021-10-11 10:59
閱讀 1876·2021-09-09 11:36
閱讀 1384·2019-08-30 15:55
閱讀 1327·2019-08-29 11:20
閱讀 3063·2019-08-26 13:39
閱讀 1466·2019-08-26 13:37
閱讀 1958·2019-08-26 12:11
閱讀 1324·2019-08-23 14:28