解题思路:
注意事项:
参考代码:
#include<iostream> using namespace std; const int N = 11; long long a[N]; //计算卡特兰数 int c(int n){ return a[2*n] / (a[n] * a[n] * (n + 1)); } int main() { //计算n的阶乘 a[0] = a[1] = 1; for(int i = 2; i <= 10; i ++) a[i] = a[i-1] * i; int m,n,k,s = 0; cin >> m >> n >> k; if (n < k) cout << 0; else { for(int i = 0; i <= k; i ++){ int r = m - 2 * i - 1; s += c(i) * (a[n] / a[n - i])* (a[k] / a[k - i]) * (k - i) * a[r]; } cout << a[m] - s; } return 0; }
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:652 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:674 |
【绝对值排序】 (C++代码)浏览:720 |
printf基础练习2 (C语言代码)浏览:321 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:631 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:716 |
a+b浏览:452 |
关于C语言变量位置的问题浏览:294 |
A+B for Input-Output Practice (C语言代码)浏览:505 |