package com.mythread;
/**
* @author TANGSHUAI
* @date 2021年4月2日 上午11:30:20
* 1.递归求和1+2+3+.....+n
* 2.递归阶乘n! = n * (n-1) * (n-2) * ...* 1(n>0)
* 3.1、1、2、3、5、8、13、21
*/
public class TestRecursion {
public static void main(String[] args) {
System.out.println(getRecursion(100));
System.out.println(getRecursion2(100));
System.out.println(getRecursion3(40));
}
/**
* 递归求和
* @param n
* @return
*/
public static Integer getRecursion(Integer n) {
if(n>0) {
return n+getRecursion(n-1);
}else {
return 0;
}
}
/**
* 阶层
* @param n
* @return
*/
public static Integer getRecursion2(Integer n) {
int sum=0;
if(n!=0) {
sum= n*(getRecursion2(n-1));
}else {
return 0;
}
return sum;
}
/**
* 不死神兔子
* @param n
* @return
*/
public static Integer getRecursion3(Integer n) {
if (n == 0)
return 0;
if (n == 1)
return 1;
if (n > 1)
return getRecursion3(n-1) + getRecursion3(n-2);
return n;
}
}
常见递归算法面试题
最新推荐文章于 2022-06-08 00:05:14 发布