1 条题解
-
0
C :
#include<stdio.h> int a[100][100]; int main(){ int n,i,j; scanf("%d",&n); for(j=1;j<=n;j++){ for(i=n;i>=1;i--){ if(i==j){ a[i][j] = i; }else{ a[i][j] = a[i+1][j] + a[i][j-1]; } } } for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ if(i>j){ printf("%5s",""); }else{ printf("%5d",a[i][j]); } } printf("\n"); } return 0; }
C++ :
#include <bits/stdc++.h> using namespace std; int main(){ int a[20][20] = {0}; int i,j,n; cin>>n; for (i = 0;i < n;i++){ a[i][i] = i + 1; } for (i = 0;i < n - 1;i++){ for (j = 0;j < n - i - 1;j++){ a[j][j + i + 1] = a[j][j + i] + a[j + 1][j + i + 1]; } } for (i = 0;i < n;i++){ for (j = 0;j < n;j++){ if (a[i][j] == 0){ cout<<setw(5)<<" "; }else{ cout<<setw(5)<<a[i][j]; } } cout<<endl; } }
Python :
n = int(input()) a = [[0 for j in range(n)] for i in range(n)] # 先赋值左对角线 for i in range(n): a[i][i] = i + 1 # 以列为大方向,从1~n列 for j in range(1, n): # 以行为小方向,从j-1~0 for i in range(j - 1, -1, -1): a[i][j] = a[i + 1][j] + a[i][j - 1] for i in range(n): for j in range(n): if a[i][j] == 0: print('%5s' % ' ', end='') else: print('%5d' % (a[i][j]), end='') print()
- 1
信息
- ID
- 2141
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者