zoukankan      html  css  js  c++  java
  • 浅谈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))*/
    

      

  • 相关阅读:
    洛谷 P2384 最短路
    洛谷 P2910 [USACO08OPEN]寻宝之路Clear And Present Danger
    POJ 3264 Balanced Lineup
    洛谷 P1892 团伙
    洛谷 P1724 东风早谷苗
    P1129 [ZJOI2007]矩阵游戏
    P1894 [USACO4.2]完美的牛栏The Perfect Stall
    Poj 3041 Asteroids
    P3377 【模板】左偏树(可并堆)
    P1613 跑路
  • 原文地址:https://www.cnblogs.com/gaofangquan/p/7043905.html
Copyright © 2011-2022 走看看