有趣的数字图形II
题目描述
输入一个整数 n ( n≤12),打印出如下要求的方阵:左上到右下对角线上的数与行数相同,右上半个区域中每个元素等于左边的和下面的元素之和。每个元素场宽为 5 。左下半个区域为空。
输入
一个整数 n ( n≤12 )
输出
n×n 的方阵(场宽为5 )。
样例
输入
4
输出
1 3 8 20 2 5 12 3 7 4
AC源码:
#include<bits/stdc++.h>
using namespace std;
int a[120][120];
int main(){
int n,temp;
cin>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j) a[i][j]=i+1;
}
}
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
a[j][j+i+1]=a[j][j+i]+a[j+1][j+1+i];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i][j]>0) printf("%5d",a[i][j]);
else printf("%5s","");
}
cout<<endl;
}
return 0;
}