【算法学习】一行核心代码实现阶乘函数和Fibonacci数列

来源:互联网 发布:windows player手机版 编辑:程序博客网 时间:2024/06/09 22:49

阶乘:
当i = 1时,F(1) = 1;
当i > 1时,F(i) = i*(F(i-1));

斐波拉数列:
当i = 1时,F(1) = 1;
当i = 2时,F(2) = 1;
当i > 2时,F(i) = F(i-1)+F(i-2);

参考代码:

package mystudy;/** * Created by zsl on 2017/9/22. */public class SimpleAlgorithm {    public static void main(String[] args) {        System.out.println(getFactorial(5));        System.out.println(fibonaci(5));    }    //阶乘    private static int getFactorial(int i) {        return i > 1 ? getFactorial(i - 1) * i : 1;    }    //斐波拉数列    private static int fibonacci(int i) {        return i > 0 ? i == 1 || i == 2 ? 1 : fibonaci(i - 1) + fibonaci(i - 2) : 0;    }}
原创粉丝点击