943
技术社区[云栖]
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