实操名称:使用递归算法完成阶乘:1!+2!+3!+4!+5!
环境: jdk 1.8
作者:李远远
1.详细代码如下:
/**
* 使用递归算法完成阶乘:1!+2!+3!+4!+5!
* @author 李远远
*
*/
public class Test10 {
public static void main(String[] args) {
long sum=0;
for(int n=1;n<=5;n++) {
sum+=factorial(n);
}
System.out.printf("1!+2!+3!+4!+5!阶乘的结果:"+sum);
}
/** 求阶乘的方法*/
static long factorial(int n){
if(n==1){//递归头
return 1;
}else{//递归体
return n*factorial(n-1);//求n的阶乘
}
}
}
2.运行结果如下图所示:
3.Bug及心得体会:
此次代码的敲写运用了函数的调用和for循环,在主函数里面用for循环还实现递归后的和,在定义的方法中实现递归,递归一定要有递归头和递归体。在定义方法的变量数据类型时,一定要与你所计算的值一致,不然容易引发错误。