js数据结构与算法--递归
2023-09-27 14:26:44 时间
递归,函数自己调用自己
return
- 返回值,
- 后面的代码不执行
function fn(num){
console.log(num)
if(num == 0){
return;
}
fn(num-1)
}
fn(10)
1-100之间,把所有能被3并且能被5整除的数获到,然后累加求和
for循环
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整除的数获到,然后累加求和
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+0
1-10以内所有偶数积
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);
相关文章
- node.js使用报错“The chunk argument must be of type string or an instance of Buffer or Uint8Array“
- 总结一下JS中的排序算法
- jquery.ellipsis.js段落超出省略号插件
- 微信 小程序组件 加入购物车全套 one js
- 《Ember.js实战》——1.4 第一个Ember.js应用程序:记事本应用
- JS深拷贝和浅拷贝
- js三种弹窗介绍
- JS中金额转换以及格式化
- js实现超简单sku组合算法(不同属性的排列组合)
- JS随机数生成算法浅析:9301、49297、233380做基数的原因
- 【 D3.js 入门系列 --- 0 】 简介及安装
- js正則表達式语法
- 这你能相信?有人用Java、Python、C、C++、Go、JS等等各种语言把所有算法实现了一遍