• 浅谈JavaScript递归


    递归:是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。递归指的是一个过程:函数不断引用自身,直到引用的对象已知。

    //公园里面有200个桃子,每天吃掉一半,扔掉一个烂的,第6天剩余多少桃子

    var x=200;
    for(var i=0;i<6;i++){
    	x=parseInt((x/2))-1}  //每天在吃掉一半,扔掉一个的过程中会可能出现奇数,所以要把奇数除以二的小数转化成整数
      
    alert(x)
    

    //公园里有一堆桃子,猴子每天能吃掉一半,扔掉一个烂的,发现第6天的时候剩余1个桃子,问刚开始有多少桃子

    /*var s1=1;
    for(var i=0;i<6;i++){
    	s1=(s1+1)*2}    //当天的数量等于下一天的剩余数量加上1然后再乘以二
    	alert(s1)*/
    

      

    //用递归做
    //当天的剩余量=(下一天的剩余量+1)*2
    //函数明确:给一个天数返回该天剩余的数量。 /*function shuliang(ts){ if (ts==6){ return 1;} return (shuliang(ts+1)+1)*2} alert(shuliang(1)) */ //第一次执行 /* function shuLiang(1){ return (shuLiang(2)+1)*2}*/ //94 //第二次执行 /*function shuLiang(2){ return (shuLiang(3)+1)*2} *///46 //第三次执行 /*function shuLiang(3){ return (shuLiang(4)+1)*2}*/ //22 //第四次执行 /*function shuLiang(4){ return (shuLiang(5)+1)*2} */ //10 //第四次执行 /*function shuLiang(5){ return (shuLiang(6)+1)*2}*/ //4 //第四次执行 /*function shuLiang(6){ return 1} */ //递归函数逐层往里进,逐层往外出 递归是一层层请求下去,而数据是一层层返回上来

    用递归求1,2,3,4,5....n的和

    function sum(num){
    	if(num==1){
    	return 1}
    	return num+sum(num-1);
    	}
    	
    	alert(sum(4))*/
    

      

  • 相关阅读:
    1022. D进制的A+B (20)
    1032. 挖掘机技术哪家强(20)
    1001. 害死人不偿命的(3n+1)猜想 (15)
    结构-06. 复数四则运算(15)
    结构-05. 有理数均值(20)
    结构-04. 通讯录的录入与显示(10)
    结构-03. 平面向量加法(10)
    软考错题合集之13-05-AM
    软考笔记第八天之法律发规与标准化知识
    软考笔记第七天之程序设计语言与语言处理程序基础
  • 原文地址:https://www.cnblogs.com/gaofangquan/p/7043905.html
Copyright © 2020-2023  润新知