【Java习题程序】递归类习题
程序员文章站
2022-04-03 09:53:13
斐波那契数列``: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