11 条题解
-
1
一维数组解法
using namespace std; const int A=10000; int n[A]; int main(){ int a; cin>>a; int b=0; n[0]=1; for(int i=a;i<=a*a-1;i+=a){ n[i]=1; } for(int k=0;k<=a*a-1;k++){ n[k+a+1]=n[k]+n[k+1]; } for(int o=0;o<=a*a-1;o++){ b++; if(n[o]!=0){ cout<<n[o]<<" "; } if(b==a){ b=0; cout<<endl; } } return 0; }
-
1
C++ :
#include <iostream> #include <cstdio> #define Maxn 19 #include <cstring> using namespace std; int main() { int n; scanf("%d",&n); int a[Maxn],b[Maxn]; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); a[0]=1; b[0]=1; printf("%d\n",a[0],b[0]); for(int i=2;i<=n;i++){ for(int j=1;j<i;j++){ b[j]=a[j]+a[j-1]; } printf("%d",b[0]); for(int j=1;j<i;j++){ printf(" %d",b[j]); } printf("\n"); for(int j=1;j<=i;j++){ a[j]=b[j]; } } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int a[31][31]; int main() { int n; cin>>n; for(int i=0;i<=n-1;i++){ a[i][0]=1; } a[1][1]=1; for(int i=1;i<=n-1;i++){ for(int j=1;j<=i;j++){ a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(int i=0;i<=n-1;i++) { for(int j=0;j<=i;j++){ cout<<a[i][j]<<" "; } cout<<endl; } return 0;
}
-
0
#include<bits/stdc++.h> #include<algorithm> using namespace std; const int N= 30; int num[N][N]; int a; int main() { cin>>a; for(int i=1;i<=a+1;i++) { for(int o=1;o<=a+1;o++) { num[i][o]=0; } } num[2][2]=1; for(int o=2;o<=a+1;o++) { for(int i=1;i<=a;i++) { num[o+1][i+1]=num[o][i]+num[o][i+1]; } } for(int i=2;i<=a+1;i++) { for(int o=2;o<=i;o++) { cout<<num[i][o]<<" "; } cout<<endl; } }
行数和列数不要搞反
-
0
#include<bits/stdc++.h> using namespace std; int main() { int a[100][100]; int n; cin>>n; for (int i=0;i<=n-1;i++) { for (int j=0;j<=i;j++) { if (j0||ji) { a[i][j]=1; continue; } a[i][j]=a[i-1][j-1]+a[i-1][j]; } }
for (int i=0;i<=n-1;i++) { for (int j=0;j<=i;j++) { cout<<a[i][j]<<" "; } cout<<endl; } return 0;
}
- 1
信息
- ID
- 90
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 613
- 已通过
- 339
- 上传者