提交时间:2023-12-05 13:55:55

运行 ID: 114027

#include<iostream> #include<stdio.h> using namespace std; int f[550][500];//f[i][j]表示第i个数的第j位。 int len=1; void add(int u) { for(int i=1;i<=len;i++) f[u][i]=f[u-1][i]+f[u][i]; for(int i=1;i<=len;i++) { f[u][i+1]+=f[u][i]/10; f[u][i]%=10; } if(f[u][len+1])len++; } int main() { int n,p; cin>>n; f[1][1]=1; for(int i=2;i<=n+1;i++) for(int j=1;j<=i;j++) add(j); for(int i=len;i>0;i--) cout<<f[n][i]; }