2020-09-14 函数案例题

函数作业:

         //第一题:求1! + 2! + 3! + 4! + …… + 10!的和

        // function fn(n){

        //     var sum = 0;

        //     for(var i = 1; i <= n; i++){

        //         var num = 1;

        //         for(var j = 1; j <= i; j++){

        //             num = num * j;

        //         }

        //         sum = sum + num;

        //         console.log("阶乘值:" + num)

        //     }

        //     console.log("所有阶乘之和:" + sum)

        // }

        // fn(10)

方法一:循环
方法二:递归

         //第二题:求一个三位数,该三位数等与其每位数字的阶乘之和。

        //先用函数fn1封装阶乘的运算,在调用fn2进行条件循环判断求解满足表达式的值。

        //函数整体可以作为另外一个函数的参数.

        // function fn1(i){

        //     var val = 1;

        //     for(var num = 1; num <= i; num++){

        //         val *= num;

        //     }

        //     return val;

        // }


        // function fn2(){

        //     for(var n = 100; n < 1000; n++){

        //         var x = parseInt(n / 100);

        //         var y = parseInt(n / 10) % 10;

        //         var z = n % 10

        //         if(n == fn1(x) + fn1(y) + fn1(z)){

        //             console.log(`满足条件的三位数有:${n} = ${x}! + ${y}! + ${z}!`)

        //         }

        //     }

        // }

        // fn2()

方法一    

        //第三题:编写一个函数rev用于将一个整数前后倒置。

        //例如rev(12345)将返回54321,rev(123)将返回321整数位数不限制,多少位都行。

        //方法一:

        //先用函数weis封装求解有多少位数的运算,在调用rev求解实参的倒置结果。

        // function weis(n){

        //     for(var i = 1; true; i++){

        //         var num = parseInt(n / Math.pow(10,i));

        //         if(num < 1){

        //             return i;

        //         }

        //     }

        // }

        // function rev(m){

        //     var s = weis(m);

        //     var val = 0;

        //     for(var i = 1; i <= s; i++){

        //         val += parseInt(m / Math.pow(10,i-1)) % 10 * (Math.pow(10,s-i));

        //     }

        //     console.log(`${m}倒置后的数为:${val}`);

        // }

        // rev(12)

        // rev(123)

        // rev(12345)

        // rev(10305)

        // rev(456789321)

方法一

        //方法二:

        // function rev(n){

        //     var str = String(n) //转换为字符串类型

        //     var arr = str.split("") //字符串切割为数组

        //     var newArr = arr.reverse() //倒置数组数据 

        //     var num = newArr.join("") //通过join的参数作为衔接符。将数组的每条数据拼接成字符串

        //     console.log(`${n}倒置后为:${+num}`)

        // }

        // rev(12)

        // rev(123)

        // rev(10305)

        // rev(234689)

        // rev(456789321)

方法二

        //方法三:

        // function rev(n){

        //     var num = String(n);

        //     var res = '';

        //     for(var i = num.length - 1; i >= 0; i--){

        //         res += num[i];

        //     }

        //     console.log(`${num}倒置后为:${res}`);

        //     return res;

        // }

        // rev(12)

        // rev(123)

        // rev(10305)

        // rev(234689)

        // rev(456789321)

方法三

        //第四题:如果整数A的全部约数(包括1,不包括A本身)之和等于B,且整数B的全部约数(包括1,不包括B本身)之和等于A,

        //则称整数A和B是一对亲密数。求3000 以内的全部亲密数。

        //先用函数sum封装求解约数满足条件内和的运算,在进行条件循环判断求解满足表达式的亲密数对。

        //函数整体可以作为另外一个函数的参数。

        //3000以内的亲密数对有: //220  284

                                                  //1184  1210

                                                 //2620  2924

        //因:A = sum(B),B = sum(A)

        //则:A = sum(sum(A)),B = sum(sum(B))

        // function sum(n){

        //     var sum = 0;

        //     for(var i = 1 ; i <= n / 2;i++){

        //         if(n % i == 0){

        //             sum += i;

        //         }

        //     }

        //     return sum;

        // }

        // for(var k = 1; k < 3000; k++){

        //     if(sum(sum(k)) == k && k != sum(k)){

        //         console.log(sum(k),k);

        //     }

        // }

        //第五题:写一个函数实现加法计算机。

        //可以通过访问arguments对象的length属性可以获知有多少个参数传递给了函数。

        // function add(){

        //     var res = 0;

        //     for(var i = 0; i < arguments.length; i++){

        //         res += arguments[i];

        //     }

        //     console.log(res);

        // }

        // add(1,2)

        // add(1,2,3)

        // add(2,3,4.5,6.5)

        //第六题:定义一组函数,输入数字,逆转并输出汉字形式。

        // function changeover(n){

        //     switch(n){

        //         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 "玖";

        //     }

        // }

        // function rev(){

        //     var num = prompt("请输入你的值:");

        //     var str = "";

        //     for (var i = num.length-1;i >= 0; i--) {

        //         str  += changeover(num[i]);

        //     }

        //     alert(str);

        // }

        // rev()

(1)
(2)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352