#include<stdio.h>
int array(int, int, int);
int array(int n, int k, int sum) //找出每一种排列方法
{
int count = 0;
if (n == 0 || k == 0)
{
return 1;
}
else
{
count += array(n-1, k, sum+1);
if (sum != 0)
{
count += array(n, k-1, sum-1);
}
}
return count;
}
int main()
{
int m, n, k;
int count;
int num1 = 1, num2 = 1;
scanf("%d%d%d", &m, &n, &k);
if (n < k) //若 一块 的人比 两块 少,直接输出 0
{
printf("0\n");
return 0;
}
for (int i=n; i>0; i--) //相同零钱的不同小孩的排列可能
{
num1 *= i;
}
for (int i=k; i>0; i--)
{
num2 *= i;
}
count = num1 * num2 * array(n, k, 0);
printf("%d\n", count);
return 0;
}
0.0分
0 人评分
川哥的吩咐 (C语言代码)浏览:875 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:734 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:592 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1246 |
WU-陶陶摘苹果2 (C++代码)浏览:975 |
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:458 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:690 |
P1000 (C语言代码)浏览:877 |
Hello, world! (C语言代码)浏览:714 |
Tom数 (C语言代码)浏览:495 |