用递归求1~n的阶乘和

分析:

(1):1~n的阶乘和说明需要外面用个for循环得到1~n的单值数;

(2):每个数值的阶乘可以用递归的方式实现;

(3):最终用一个变量sum来累加1~n的阶乘和;

概念:递归就是自己调用自己的概念,但是需要一个终止条件,这里的终止条件是当调用的值为1时直接返回退出递归调用;

代码如下:

public class Test3 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个数值~~");
        int a=scanner.nextInt();
       // System.out.println(factorial(a));

        int sum=0;
        for (int i=1;i<=a;i++){
            sum+=factorial(i);
        }

        System.out.println(sum);
    }

    //递归回调函数
    public static int factorial(int a){
        if (a==1){
            return 1;
        }
        return factorial(a-1)*a;
    }
}
发布了42 篇原创文章 · 获赞 6 · 访问量 2958

猜你喜欢

转载自blog.csdn.net/qq_44666176/article/details/103413999