// 编写一个函数, 输入n为偶数时, 调用函数求1 / 2 + 1 / 4 + 1 / 6... + 1 / n,
// 当输入n为奇数时, 调用函数求1 + 1 / 3 + 1 / 5... + 1 / n.(递归实现)
var sum = 0;
function fn(n) {
/* 偶数 */
if (n % 2 === 0) {
if (n == 2) {
return 0.5;
} else {
return fn(n - 2) + 1 / n;
}
}
/* 奇数 */
if (n % 2 !== 0) {
if (n == 1) {
return 1;
} else {
return fn(n - 2) + 1 / n;
}
}
}
console.log(fn(8));
/* 斐波那契数列 */
// 1、1、2、3、5、8、13、21、34
function fb(n) {
if (n <= 2) return 1;
return fb(n - 1) + fb(n - 2);
}
console.log(fb(5));
/* 阶乘 */
function jc(n) {
if (n === 1) return 1;
return n * jc(n - 1);
}
console.log(jc(4));
/* 累加 */
function plus(n) {
if (n < 0) return 0;
return n + plus(n - 1);
}
console.log(plus(10));
/* 最大公约数 */
function max(m,n){
var r=m%n
m=n
n=r
if(r===0) return m
return max(m,n)
}
/* 最小公倍数 */
function min(m,n){
return m*n/max(m,n)
}
console.log(min(16,28))
递归(斐波那契数列、最大公约数,最小公倍数、阶乘、累加)等等
最新推荐文章于 2024-08-15 08:55:57 发布