欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【Java习题程序】递归类习题

程序员文章站 2023-08-26 15:20:23
斐波那契数列``:1 1 2 3 5 8 13 21 34…当前数是前两项数之和递归求斐波那契数列第n项public class Main { public static int fac(int n){ if (n<=2){ return 1; } return fac(n-1)+fac(n-2); } public static void main(String[] args) {...

斐波那契数列``:1 1 2 3 5 8 13 21 34…当前数是前两项数之和
递归求斐波那契数列第n项

public class Main {
    public static int fac(int n){
        if (n<=2){
            return 1;
        }
        return fac(n-1)+fac(n-2);
    }

    public static void main(String[] args) {
        System.out.println(fac(7));
    }

输出·结果
13

写一个递归方法,输入一个非负整数,返回组成它的数字之和

public static int sum(int n){
    if (n<9){
        return n;
    }
    return n%10+sum(n/10);``
}

按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4) (递归)

public static void  find(int n){
    if (n>9){
         find(n/10);
    }
    System.out.print(n%10+" ");
}

public static void main(String[] args) {
   find(1234);
}

递归求 1 + 2 + 3 + … + 10

public static int add2(int n){
    int tmp;
    if (n==1){
        return 1;
    }
    tmp=n+add2(n-1);
   return tmp;
}
public static void main(String[] args) {
    System.out.println(add2(10));
}

运行结果 55

递归求 N 的阶乘

public static int fac2(int n){
    if (n==1){
        return  1;
    }
    int tmp=0;
    tmp=n*fac2(n-1);
    return tmp;
}

public static void main(String[] args) {
    System.out.println(fac2(5));
}

运行结果 120

本文地址:https://blog.csdn.net/we_opkn/article/details/114320826

相关标签: java 递归算法