1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; int main(){ int i,j,n,a[10][10]={0}; cin>>n; for(i=0;i<n;i++){ for(j=0;j<n-i;j++){ if(i==0){ a[j][j+i]=j+1; }else{ a[j][j+i]=a[j][j+i-1]+a[j+1][j+i]; a[j+i][j]=a[j+i-1][j]+a[j+i][j+1]; } } } for(i=0;i<n;i++){ for(j=0;j<n;j++){ cout<<setw(5)<<a[i][j]; } cout<<endl; } }
Python :
n = int(input()) a = [[0 for j in range(n)] for i in range(n)] # 先赋值左对角线1~4 for i in range(n): a[i][i] = i + 1 # 赋值左对角线下面的部分,以"列"为大方向从n-2~0,逆方向,"行"为小方向依次赋值j+1~n-1,正方向 for j in range(n - 2, -1, -1): for i in range(j+1, n): a[i][j] = a[i][j + 1] + a[i - 1][j] #赋值做对角线上面的部分,以"列"为大方向从1~n-1,正方向,"行"为小方向依次赋值j-1~0,逆方向 for j in range(1, n): for i in range(j-1, -1,-1): a[i][j] = a[i][j - 1] + a[i+1][j] #打印输出 for i in range(n): for j in range(n): print('%5d' % a[i][j], end='') print()
- 1
信息
- ID
- 2305
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者