除了第一行 的元素 和第二行的元素 其他元素都是左边一个 加上上一个 ,为了使的循环好整 我们定起始点为(1,1) 方形以外为0
#include <iostream>
using namespace std;
int main() {
long long dp[25][25] ={0};
for(int i=1;i<=21;i++){
for(int j=1;j<=21;j++){
if(i==1&&j==1){
dp[i][j]=1;
}else{
dp[i][j] =dp[i-1][j]+dp[i][j-1];
}
}
}
cout << dp[21][21] <<endl;
return 0;
}
long long ans=1;
for(int i=40,j=1;i>20;i--,j++){
ans*=i;
ans/=j;
}
cout <<ans <<end;
return 0;
40个里面选20个走C 40 20