计算3个A,2个B可以组成多少种排列的问题(如:AAABB, AABBA)是《组合数学》的研究领域。
但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题。
但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题。
下列的程序计算了m个A,n个B可以组合成多少个不同排列的问题。
#include<stdio.h>
int f(int m, int n);
int main(){
int m, n;
scanf("%d%d", &m, &n);
int num = f(m, n);
printf("%d\n", num);
return 0;
}
int f(int m, int n){
if(m == 0 || n == 0)
return 1;
return f(m - 1, n) + f(m, n - 1); //第一个函数是选a, 第二个函数是选b
}