购票排队问题(递归算法)
程序员文章站
2022-04-30 13:59:22
...
问题描述:
一场球赛开始前,售票工作正在紧张的进行中。每张球票为50元,现有30个人排队等待购票,其中有20 个人手持50元的钞票,另外10个人手持100元的钞票。
假设开始售票时售票处没有零钱,求出这30个人排队购票,使售票处不至出现找不开钱的局面的不同排队种数。(约定:拿同样面值钞票的人对换位置后为同一种排队。)
分析:
#include<iostream>
using namespace std;
int f(int m, int n){
if(m < n){
return 0;
}if(n == 0){
return 1;
}else {
return f(m-1, n) + f(m, n-1);
}
}
int main(){
int x = f(15, 12);
cout << x << endl;
}
上一篇: 生兔子问题(递归思想)
下一篇: 算法很美(基础递归问题)