首页 > 试题广场 >

杨辉三角代码编写

[编程题]杨辉三角代码编写
  • 热度指数:352 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。
                       1 
                      1 1 
                    1 2 1 
                   1 3 3 1 
                 1 4 6 4 1 
              1 5 10 10 5 1 
           1 6 15 20 15 6 1 
        1 7 21 35 35 21 7 1 
     1 8 28 56 70 56 28 8 1 
1 9 36 84 126 126 84 36 9 1
观察这个排列,发现其中的规律,编写代码,实现打印其中任意一行

输入描述:
输入想要打印的行号n,例如:5



输出描述:
只要打印该行的内容即可,不用打印头尾的空格例如:1 4 6 4 1 
示例1

输入

1

输出

1
示例2

输入

5

输出

1 4 6 4 1
import java.util.Scanner;

public class Pascal_Triangle {

	public static int[] Line(int line) {
		if(line==1) {
			int a[]= {1};
			return a;
		}
		int temp[]=Line(line-1);
		int a[]=new int[line];a[0]=1;a[line-1]=1;
		for(int i=0;i<temp.length-1;i++) {
			a[i+1]=temp[i]+temp[i+1];
		}
		return a;
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner inPut=new Scanner(System.in);
		int line=inPut.nextInt();
		for(int a:Line(line)) {
			System.out.print(a+" ");
		}
	}

}
差不多很简单易懂,递归一下,每次调用递归返回上一层数组,数组两边直接赋予1,中间由上一行两个数决定,两两之和赋予下一行下标较大的位置即可。
编辑于 2021-09-16 23:49:57 回复(0)