【问题描述】
输入层数 n,打印 n 层杨辉三角
【输入形式】
输入为一行一个整数 n
【输出形式】
输出 n 层杨辉三角
【样例输入】
5
【样例输出】
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
提示:杨辉三角的每一行对应为二项式系数,且有公式
这是一个多文件接口编程题,你需要下载相应的接口文件yang.h以及驱动代码main.cpp,然后建立一个新文件实现相应的接口函数。接口文件以及驱动代码不需要提交,只需要提交你建立的新文件即可。
方法一:
#include<iostream>
#include"yang.h"
using namespace std;
void PrintBlank(int m){
for(int i=0;i<m;i++){
cout<<" ";
}
}
void PrintCombine(int m){
int num[m];
num[0]=1;
cout<<num[0]<<" ";
for(int i=1;i<=m-1;i++){
num[i]=1ll*num[i-1]*(m-i)/i; //1ll使用是防止在计算过程中超过int 虽然结果只需要int
cout<<num[i]<<" ";
}
}
方法二void PrintCombine(int m){
int num[m][m];
//每行首尾都是1
for(int i=0;i<m;i++){
num[i][0]=0;
num[i][1]=0;
}
//求值
for(int i=2;i<m;i++){
for(int j=1;j<i;j++){
num[i][j]=num[i-1][j]+num[i-1][j-1];
}
}
//打印杨辉三角
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<num[i][j]<<" ";
}
cout<<endl;
}
}:(这个题不能用,因为这个是一次性打印的整个三角)
总结:
第一次用project,感觉cout都不知道要放在那里了哈哈哈哈。
特别神奇打印出来的时候!!!