递归改写实现同样的结果

如何用另一种递归方法写这一串代码,输出的结果是一样的.就是改写这个方法

img

只是简化了下,其实怎么改都差不多的

public class GenerateSums {
    public static String generateSum(int n){
        if(n<1) {
            return ""
        }
        String result = "1\n";
        string temp = "1" ;
        int sum=1;
        
        for(int i=2;i<=n;i++){
            temp +=+" + "+;
            sum += i;
            result +=(temp +” = ”+ sum + "\n");
        }
        return result.substring(beginIndex: 0, result.length()-1);
    }
}

提供参考实例【递归改写成循环方式的实现例子】,期望对你有所帮助:http://www.manongjc.com/detail/24-jncretskrqdybvz.html

    public static void main(String[] args) {
        Scanner cin=new Scanner(System.in);
        int n,s;
        System.out.println("请输入n=");
        n=cin.nextInt();
        s=sum(n);
        System.out.println(s);

    }
    public static int sum(int n) {
        if(n==1){
            return 1;}
        else if(n==2){
            return 3;}
        else{ return sum(n-1)+n;}
    }

img

package com.example.demo003.controller;

public class Test02 {
    public static String generateSum(int param1) {
        if (param1 == 1) {
            System.out.println(param1);
            return "1=1";
        }
        final Object[] objects = generateSum(param1 - 1).split("=");
        final int sum = param1 + Integer.valueOf(objects[1].toString());
        final String x = objects[0] + "+" + param1 + "=" + sum;
        System.out.println(x);
        return x;
    }

    public static void main(String[] args) {
        generateSum(4);
        generateSum(10);
    }
}

我用javascript 简单实现了一个 ,代码如下:

img

如有帮助,请采纳!

是否有用
http://www.manongjc.com/detail/24-jncretskrqdybvz.html