所谓递归其实就是从前有座山,山上有座庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,讲的是从前有座山...,无休止的重复一件事,但是不同的是里边所给的参数不同,这个是由我们来定的。而且我们还要给出口,也就是结束的地方。

递归求阶乘

代码:

import java.util.Scanner;
public class 递归求阶乘 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int res = f(n);
        System.out.println(res);
    }

    private static int f(int i) {
          if (i>1){
              return f(i-1)*i;
          }
          return 1;
    }
}

分析:出口是i<=1,当i<=1时,我们就直接return 1;不让他继续调用。需要做的是:i*i-1,我们怎么循环来做呢就是通过改变参数循环调用。

递归求1-100的和

import java.util.Scanner;

public class 递归输出加和100 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
         int res = f(n);
         System.out.println(res);
    }

    private static int f(int i) {
        int sum = 0;
        sum = sum + i;
        if (i>1) return f(i-1)+sum;
        return 1;
    }
}

输出100-1的数

public class 递归输出100 {
    public static void main(String[] args) {
        f(100);
    }
    private static int f(int i){
        System.out.println(i);
        if (i>1) return f(i-1);
        return 1;
    }
}

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐