阅读943 返回首页    go 技术社区[云栖]


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);  
    }


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


最后更新:2017-04-03 16:48:34

  上一篇:go 函数返回类型为指针类型的一些问题
  下一篇:go struts计算 <s:property value="%{neowaveWeight.weightValue/10}" />