利用杨辉三角形计算组合数
in Java入门小程序 with 0 comment

利用杨辉三角形计算组合数

in Java入门小程序 with 0 comment

这一次我们用杨辉三角来计算组合数

(冥冥之中,杨辉三角和组合数有着神秘的联系)
yanghuisanjiao.jpg

对应关系如下:
组合数C(0,0)对应杨辉三角的第一行
组合数C(1,0)C(1,1)对应杨辉三角形的第二行的两列数字
组合数C(2,0)C(2,1)C(2,2)对应杨辉三角形的第三行的三列数字
........

代码部分如下

    import java.util.Scanner;

public class YanghuiTriangle {

    public static int Anynumber(int m,int n) {
        
        if(n==0||m==n)return 1;
        else
            return Anynumber(m-1,n)+Anynumber(m-1,n-1);    
    }
    
    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        Scanner in=new Scanner(System.in);
        System.out.println("输入m:");
        int m=in.nextInt();
        System.out.println("输入n:");
        int n=in.nextInt();
        System.out.println("组合数为:");
        System.out.println(Anynumber(m,n));
        
    }

}

说明:
输入m,n,程序通过计算杨辉三角对应位置的数字来计算组合数C(m,n)
采用的方法是 递归

Responses