竞赛
考级
#include<iostream> using namespace std; int n; int a[30][30]; int main(){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ if(j1 || ij){ a[i][j]=1; }else{ a[i][j]=a[i-1][j]+a[i-1][j-1]; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ if(j==i){ cout<<a[i][j]; }else{ cout<<a[i][j]<<" "; } }
这道题难度还行,关键就在于如何把三角化为二维数组,即s[i][j]=s[i-1][j-1]+s[i-1][j] 加入团队吧
空降坐标:CP003248 请看代码
#include<iostream> using namespace std; int a[30][30]; int main(){ a[2][1]=a[2][2]=1; int n; cin>>n; cout<<1<<endl; if(n>=2){ cout<<1<<" "<<1<<endl; } for(int i=3;i<=n;i++){ for(int j=1;j<=i;j++){ a[i][j]=a[i-1][j-1]+a[i-1][j]; cout<<a[i][j]; if (j!=i){ cout<<" "; } } if (i!=n){ cout<<endl; } } return 0; }
提交答案之后,这里将显示提交结果~