严不鸽


私信TA

用户名:1248805281

访问量:791

签 名:

等  级
排  名 4723
经  验 1647
参赛次数 0
文章发表 5
年  龄 18
在职情况 学生
学  校 GUET
专  业 信息与计算科学

  自我简介:

解题思路:

先将第一列,以及行列相等的元素赋值为1,接下来对每一个元素赋值。
注意事项:


用二维vector   definie:  vector<vector<int> > p;     注意 <int> 后面有一个空格

参考代码:

#include<iostream>
#include<vector>
#include<iomanip>
using namespace std;

//用二维vector   definie:  vector<vector<int> > p;     注意 <int> 后面有一个空格. 
int main(){
	int n;
	cin>>n;
	vector<vector<int> > p;
	for(int i=0;i<n+1;i++){
		p.push_back(vector<int>( ));
	}
	for(int i=0;i<p.size();i++){
		for(int j=0;j<=i;j++){
			if(j==0||i==j){
				p[i].push_back(1);
			}
			else {
				p[i].push_back(p[i-1][j]+p[i-1][j-1]);
			}
		}
	}
	
	for(int i=0;i<n+1;i++){
		
		for(int k=0;k<n-i;k++){
			cout<<"   ";
		
		}
		for(int j=0;j<=i;j++){
			cout<<std::right<<setw(3)<<p[i][j]<<"   ";
		}
		cout<<endl;
	}
}



 

0.0分

3 人评分

  评论区

  • «
  • »