黑马程序员技术交流社区
标题:
给大家出一个小问题?
[打印本页]
作者:
乐享
时间:
2013-11-23 09:38
标题:
给大家出一个小问题?
用至少两种方法求出1—100的阶乘
作者:
邓伟
时间:
2013-11-23 12:20
class Demo
{
public static void main(String[] args)
{
int product = factorial_1(6);
System.out.println(product);
}
public static int factorial_1(int a) //第一种方法,迭代
{
int product = 1;
for(int i = 1;i<=a;i++)
{
//System.out.println("i = "+i+" product = "+product);
product *= i;
}
return product;
}
public static int factorial_2(int a)//第二种方法递归
{
if(a <= 1)
{
return 1;
}
return a * factorial_2(a-1);
}
}
复制代码
作者:
花生壳
时间:
2013-11-23 12:37
迭代计算过程清晰。递归简单但是计算过程不清晰,迭代就是用上次计算的结果作为此次计算的输入值参与计算。
递归是给定一个结束条件,然后递减计算。
应该说:递归属于迭代的特殊形式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2