编程做一道高中数学题

看到一同学发了个高中的数学题,一时想用编程方法来练练算法,虽然很简单,就当锻炼一下逻辑,毕竟很少有时间再接触这些了。

题目:一个七层的塔,每层所点灯的盏数都等于上面一层的2倍,一共381盏灯,则底层所点灯的盏数是?

我用的递归方法,也没啥好说的,比较传统的方法:

<!doctype html>
<html>
<script type="text/javascript">

var key=1,num=0,s=1,add=1;
function findKey(s,num,key,add){//alert(s+","+num+","+key+","+add);
    s = add*2 + s;
    add = add * 2;
    
    if(num==5){
        if(s==381){alert(key);}    
        else {
            key++;
            num=0;
            add=key;
            s=key;
            findKey(s,num,key,add);
        }
    }else{
        num++;     
        findKey(s,num,key,add);
    }
}
findKey(s,num,key,add);
</script>
</html>

 

posted @ 2014-08-26 00:46  子慕大诗人  阅读(1112)  评论(3编辑  收藏  举报