美文网首页
函数练习

函数练习

作者: 心存美好 | 来源:发表于2021-10-19 17:57 被阅读0次

练习一

求1! + 2! + 3! + 4! + …… + 10!的和
叹号表示阶乘,如4! = 1 * 2 * 3 * 4

function jiecheng(num){    //阶乘函数
    // if(num<=1){
    //     return 1;
    // }else{
    //     return num*jiecheng(num-1);
    // }
    return num<=1 ? 1 : num*jiecheng(num-1); 
}

var result=0;
for(i=0;i<=10;i++){
    result += jiecheng(i);
}
console.log("1-10数字阶乘和为" + result);

练习二

求一个三位数,该三位数等与其每位数字的阶乘之和。

function jiecheng(num){   
    return num<=1 ? 1 : num*jiecheng(num-1); 
}
for(i=100;i<=1000;i++){
    var result = 0;
    num = i;
    while(num){
        result += jiecheng(num%10);
        num = parseInt(num /10);
    }
    if(result==i){
        console.log("三位数等与其每位数字的阶乘之和的数是" + i);
    }
}

练习三

编写一个函数rev用于将一个整数前后倒置。
例如rev(12345)将返回54321,rev(123)将返回321
整数位数不限制,多少位都行。

方法一借用字符串
function rev(num){
    var str=""+num;
    var length=str.length;
    var result="";
    for(var i=0;i<length;i++){
        result += num%10;
        num = parseInt(num/10);
    }
    return +result
}
console.log(rev(12345));
方法二也是借助字符串
    var result="";
    while(num){
        result += num%10;
        num = parseInt(num/10);
    }
    return +result
}
console.log(rev(12345));
方法三不借助字符串
function rev(num){
    var result=0;
    while(num){
        result =result*10+num%10;
        num = parseInt(num/10);
    }
    return result
}
console.log(rev(12345));

练习四

如果整数A 的全部约数(包括1,不包括A 本身)之和等于B,且整数B 的全部约数 (包括1,不包括B 本身)之和等于A,则称整数A和B是一对亲密数。
求3000 以内的全部亲密数。

function yueshuhe(num){// 封装一个不包含自己的约束和的方法
    sum=0;
    for(var i=1;i<num;i++){
        if(num%i==0){
            sum += i;
        }
    }
    return sum;
}
for(var A=1;A<=3000;A++){
    for(var B=1;B<=3000;B++){
        if(A==yueshuhe(B) && yueshuhe(A)==B && A != B){
         console.log(A,B,"是亲密数");

        }
    }
}
优化 就让B等于yueshuhe(A)
function yueshuhe(num){// 封装一个不包含自己的约束和的方法
    sum=0;
    for(var i=1;i<num;i++){
        if(num%i==0){
            sum += i;
        }
    }
    return sum;
}
for(var A=1;A<=3000;A++){
    B=yueshuhe(A) 
    if(A==yueshuhe(B) && yueshuhe(A)==B && A != B){
    console.log(A,B,"是亲密数");
    }
}

练习五

定义一组函数,输入数字,逆转并输出汉字形式

function numToChinese(num){
    switch(num){
        case 0:
            return "零";
        case 1:
            return "壹";
        case 2:
            return "贰";
        case 3:
            return "叁";
        case 4:
            return "肆";
        case 5:
            return "伍";
        case 6:
            return "陆";
        case 7:
            return "柒";
        case 8:
            return "捌";
        case 9:
            return "玖";
        case 10:
            return "拾";
    }
}
function rev(num){
    var result='';
    while(num){
        result += numToChinese(num%10);   //调用映射函数
        num = parseInt(num/10);
    }
    return result
}
console.log(rev(66443322));

相关文章

  • JS操作属性、函数

    JS操作style属性 JS操作class属性 函数 匿名函数 函数传参 作业 if练习 switch练习

  • javaScript函数

    1.函数的封装 2.return子句 3.函数的参数 4.函数练习 5.匿名函数 6.函数练习

  • 12_Python匿名函数_全栈开发学习笔记

    1. 匿名函数介绍 2. 将函数转换为匿名函数 练习1:请把以下函数变成匿名函数 答案: 执行结果: 练习2:跟据...

  • 函数练习

    1.编写一个函数,求1+2+3+...+N2.编写一个函数,求多个数中的最大值3.编写一一个函数,实现摇色子的功能...

  • 函数练习

    import random from random import randint 1. 编写一个函数,求1+2+3...

  • 函数练习

    练习一 求1! + 2! + 3! + 4! + …… + 10!的和叹号表示阶乘,如4! = 1 * 2 * 3...

  • js-函数练习

    函数练习

  • python练手_34-调用函数

    题目 练习函数调用。

  • sqlzoo练习2

    主要练习的是select语句 round函数 left函数 通配符的使用 表结构 image 练习 show th...

  • 绘制X^X函数

    练习:绘制X^X函数 \

网友评论

      本文标题:函数练习

      本文链接:https://www.haomeiwen.com/subject/isiaoltx.html