递归求二项式系数值

问题描述

样例输入
一个满足题目要求的输入范例。
3 10
样例输出
与上面的样例输入对应的输出。
数据规模和约定
  输入数据中每一个数的范围。
  例:结果在int表示时不会溢出。
 
import java.lang.reflect.Array;
import java.util.*;

public class Main {
    private Scanner scanner;
    public static void main(String[] args) {
        new Main();
    }

    private Main(){
        scanner = new Scanner(System.in);
        solve();

    }

    private void solve(){
       int k = scanner.nextInt();
       int n = scanner.nextInt();
       int [][] a = new int[k+1][n+1];
       System.out.println(recursion(k,n,a));
    }

    private int recursion(int k,int n,int [][] a){
        if(a[k][n]!=0){
            return a[k][n];
        }
        else if(k==0||k==n){
            return a[k][n] = 1;
        }
        else {
            return a[k][n] = recursion(k,n-1,a) + recursion(k-1,n-1,a);
        }
    }

}
原文地址:https://www.cnblogs.com/zhanghaijie/p/8545846.html