递归法:杨辉三角,计算第m层的第n个系数

问题:(a+b)的n次幂的展开式中各项系数有规律,对于n=2,3,4时分别为1 2 1,1 3 3 1,1 4 6 4 1,如下图
递归法:杨辉三角,计算第m层的第n个系数_第1张图片
当把上面的图片经过转化后变为
1
1 1
1 2 1
1 3 3 1
1 4 4 6 1
1 5 10 5 1

  • 分析思路

采用分割思想把每一行的一个元素和后面其他部分分开来思考容易找到规律
找到规律:第一层1个元素,第2层两个元素,第n层有n个元素
第3行的第2个数字为前一行的第1个数字和第2个数字相加的和
下一层的某一个元素等于上一层与之对应的元素与该层的前一个元素相加

  • 代码:
public class Yang {
			public static int f(int m,int n) {
			if(n==0)   //每一层第1个数度为1
				return 1;
			if(m==n)   //每一层的最后一个元素度为1
				return 1;
			return f(m-1,n)+f(m-1,n+1);  //第m层的元素的第m个元素等于上一层与之对应的元素与该层的前一个元素相加
		}
		public static void main(String[] args) {
			//int level=5;
			for(int i=0;i<=5;i++)
				System.out.println(f(5,i)+" ");
			System.out.println();
		}
	}

你可能感兴趣的:(蓝桥杯习题,Java)