美文网首页
javascript解决汉诺塔问题

javascript解决汉诺塔问题

作者: 清汤饺子 | 来源:发表于2018-09-12 10:13 被阅读0次

    递归的课后作业:
    解决汉诺塔问题有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,请问至少需要多少次移动,设移动次数为H(n)
    `

    function a1(){
        var num = null;
        num = 1;
        return num;
    }
    function a2(){
        var num = null;
        num = a1()+a1()*2;//3
        return num;
    }
    function a3(){//移动了2阶,1阶,2阶
        var num = null;
        num = a1() + a2()*2;//7
        return num;
    }
    function a4(){//移动了3阶,1阶,3阶
        var num = null;
        num = a1() + a3()*2;//15
        return num;
    }
    function hannuota_n(n){
        if(n === 1){
            return 1;
        }else{
            return 1+hannuota_n(n-1)*2
        }
    }
    console.log(hannuota_n(64));`

    相关文章

      网友评论

          本文标题:javascript解决汉诺塔问题

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