随心所欲,随遇而安。

1.递归

       ① 3个可乐盖可兑换1瓶可乐,n瓶可乐可换多少瓶子?

            n<3时,无法兑换,递归的终止条件

            n>=3时,可以兑换,如何实现递归逻辑。  

            可以理解为,每次进递归方法(调自己)时,传入参数为当前的瓶盖数,包括兑换出的瓶盖数  + 数量小于3的未兑换的瓶盖数 

               比如,设共有8瓶可乐,6瓶可兑换出的瓶盖数(2)  + 未兑换的瓶盖数(2)= 4 瓶,这4瓶再去兑换;

                                    4瓶可乐,3瓶可兑换出的瓶盖数(1)  +  未兑换瓶盖数(1)=  2 整瓶,小于3,无法兑换。

                      但是,最终统计的是瓶子数,是6+3+2=11;

                

         ②计算1+2+3+4+····+n的和;

                      

 public static int getSum(int n){
       if(n==1){
           return n;
       }else{
           return n+getSum(n-1);
       }
    }

          ③计算n的阶乘;

public static int getSum(int n){
       if(n==1){
           return 1;
       }else{
           return n*getSum(n-1);
       }
    }

猜你喜欢

转载自www.cnblogs.com/slimshady/p/10789929.html