Java实现递归经典案例――三角数字的多种实现方式

三角数字的定义就是:第n个三角数字是 由 1+...+n 所得。


1、的三角数字是 1

2、的三角数字是 1 + 2 = 3

3、的三角数字是 1 + 2 + 3 = 6



1、while循环实现的方式


public int getTriangleNumber(int n)  

   {  

       int totle = 0;  

       while(n>0) // 从1开始  

       {  

           totle = totle + (n--);  

       }  


       return totle;  

   }  



2、for循环方式实现


public int getTriangleNumberByFor(int n)  

   {  

       int totle = 0;  


       for(; n > 0; )  

       {  

           totle = totle+n;  

       }  

       return totle;  

   }  



3、数学公式方式实现


public int getTriangleNumberByMath(int n)  

   {  

       return (n*n + n)/2;  

   }  



4、递归方式实现


public int getTriangleT(int n)  

   {  

       int totle = 0;  

       if(n == 1)  

       {  

           return 1; // 退出递归条件,基值情况(base case)  

       }  

       return totle = n + getTriangleT(n-1);  

   }



原帖地址:http://blog.csdn.net/u010708203/article/details/9286885


你可能感兴趣的:(java,递归,三角数)