编写一个函数,计算两个数字的和,差,积,商

1 编写一个函数,计算两个数字的和、差、积、商
要求:使用传参的形式
function demo(num1, num2) {
console.log(num1 + num2);
console.log(num1 – num2);
console.log(num1 * num2);
console.log(num1 / num2);
}

    2 编写一个函数,计算三个数字的大小,按从小到大顺序输出
    function demo(num1, num2, num3) {
        Math.pow()
        var max = Math.max(num1, num2, num3); 
        console.log(max);
        var min = Math.min(num1, num2, num3);
        console.log(min);
    }
    demo(1, 22, -3);

    3 编写任意个数字的求和、差、积、商的函数
    function demo() {
         定义一个和
        var a = arguments[0]; 
         定义一个差
        var b = arguments[0];
         定义一个积
        var c = arguments[0];
         定义一个商
        var d = arguments[0];
         因为参数的个数不定 所以形参没法写 只好使用arguments
        for (var i = 1; i < arguments.length; i++) {
            a = a + arguments[i];
            b = b - arguments[i];
            c = c * arguments[i];
            d = d / arguments[i];
        }
        console.log("和为" + a);
        console.log("差为" + b);
        console.log("积为" + c);
        console.log("商为" + d);
    }

    demo(10, 44, 89, 3);   本次调用的时候 函数内部的arguments => [10, 44, 89, 3] arguments[0] => 10 arguments[1] => 44 arguments[2] => 89 arguments[3] => 3

    4 编写一个函数求一个数字是否是质数
    function demo(num) {
        var isZ = true;
         // 因为质数的定义是除了1和自己之外 所以范围就是从2 到 nu'm-1
        for (var i = 2; i < num; i++) {
             判定范围内的这个数是否可以整除num
            if (num % i === 0) {
                 如果能够整数 将标记设置为false 
                isZ = false;
                 既然出现了整除的数字 不必再循环
                break;
            }
        }
         判定 是否是质数
        return isZ;
    }
    var result2 = demo(11);
    if (result2) {
        console.log(11 + "是质数");
    } else {
        console.log(11 + "不是质数");
    }

    var result = demo(333);
    if (result) {
        console.log(333 + "是质数");
    } else {
        console.log(333 + "不是质数");
    }

    var result1 = demo(11);
    if (result1) {
        console.log(11 + "是质数");
    } else {
        console.log(11 + "不是质数");
    }
    分析: demo函数的作用是判定一个数是否是质数 
    借助一个变量 isZ 
    如果把isZ定义在全局中 那么当函数执行的时候,访问的isZ就是全局中的isZ
    而且我们这个代码 一旦将isZ设置为false 就再也不会将它重新设置为true
    所以 在遇见第一个非质数之前 判定结果是对的
    一旦遇见了第一个非质数 就会把全局中的isZ设置为false 
    以后的执行过程中,就算再遇见质数 得到的结果也是值为false的isZ变量
    所以一定要把isZ变量放在函数内部


    5 编写一个函数求两个数字之间有多少个质数
    例如:fn(100, 200) ,在控制台输出 100 - 200 之间的所有质数
    function check(num) {
        var isZ = true;
        // 因为质数的定义是除了1和自己之外 所以范围就是从2 到 nu'm-1
        for (var i = 2; i < num; i++) {
             判定范围内的这个数是否可以整除num
            if (num % i === 0) {
                 如果能够整数 将标记设置为false 
                isZ = false;
                 既然出现了整除的数字 不必再循环
                break;
            }
        }
         判定 是否是质数
        return isZ;
    }


    function demo(start, end) {
        for (var i = start; i < end; i++) {
             只要有一个方式能够判定当前循环到的这个数字是否是质数 我们就可以输出1次
            if (check(i)) {
                console.log(i + "是质数");
            } 
        }
    }
    demo(3, 999);

    6 编写一个函数,计算任意两个数字之间所能组成的奇数个数,数字必须是个位数
    比如: 计算0-3之间能组成的奇数个是01、03、11、13、21、23、31、33
    function demo(start, end) {
        分析:start - end之间的数 都可以作为十位数 start - end之间 可以作为个位数的只有之间的奇数
        循环 第一次
        for (var i = start; i <= end; i++) {
            定义一个数 这个数就是十位数
            var shi = i * 10;
             循环 第二次 用于生成个位数 因为个位数只能够是奇数 所以我们可以强行取巧 让j从1开始 每一次的递增 +2
            for (var j = start; j <= end; j++) {
                if (j % 2 != 0) {
                    var ge = j;
                    console.log(shi + ge);
                }
            }
        }
    }
    demo(4, 9);


    7 某个公司采用公用电话传递数据数据是四位的整数,在传递过程中是加密的
        加密规则如下:
            每位数字都加上5
            然后用除以10的余数代替该数字
            再将第一位和第四位交换
            第二位和第三位交换
    请编写一个函数,传入原文,输出密文
    
    1  5  7  9 
    6  10 12 14
    6  0  2  4
    4  0  2  6
    4  2  0  6
    
     定义一个函数
    function demo(num) {
         获取千位 
        var t = parseInt(num / 1000);
         获取百位
        var h = parseInt(num % 1000 / 100)
         获取十位
        var s = parseInt(num % 100 / 10);
         获取个位
        var g = num % 10;

        每一个位数的数之+5 之后再对十取余
        t = (t + 5) % 10;
        h = (h + 5) % 10;
        s = (s + 5) % 10;
        g = (g + 5) % 10;
         交换位置
        var temp = t;
        t = g;
        g = temp;
         交换位置
        var temp1 = h;
        h = s;
        s = temp1;
         console.log(t * 1000 + h * 100 + s * 10 + g);
        return t * 1000 + h * 100 + s * 10 + g;
    }

     执行函数
    demo(1579); 
    原文作者:xywyxy
    原文地址: https://blog.csdn.net/xywyxy/article/details/102772709
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞