C++信息学奥赛2043:【例5.11】杨辉三角形

193 阅读1分钟

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 33800     通过数: 22227

【题目描述】

例5.11  打印杨辉三角形的前n(2≤n≤20)行。杨辉三角形如下图:

当n=5时

        1
      1   1
    1   2   1
  1   3   3   1
1   4   6   4   1

输出:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

【输入】

输入行数n。

【输出】

输出如题述三角形。n行,每行各数之间用一个空格隔开。

【输入样例】

5

【输出样例】

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

题目题解:

#include<iostream>
using namespace std;
int main() {
	int n;
	cin>>n;
	int arr[n][n];
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			arr[i][j]=1;
		}
	}
	for(int i=1;i<n;i++){
		for(int j=1;j<i;j++){
			if(i>=j){
				arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
			}
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			if(i>=j)
			cout<<arr[i][j]<<" ";
		}
		cout<<endl;
	}
  return 0;
}