递归

一场足球赛开始前,售票工作正在紧张的进行中,每张球票为50元。

现有2n个人排队等待购票,其中有n 个人手持50元的钞票,

另外n个人手持100元的钞票。 假设开始售票时售票处没有零钱,

问这2n个人有多少种排队方式,使售票处不至出现找不开钱的局面?

#include <stdio.h>
int f(int a,int b)
{
            if(a<b)                 return 0;   
     else    if(b==0)                  return 1;         
     else    if(b<=a)   return f(a-1,b)+f(a,b-1) ; 
}




int main()
{ int n ;
while(scanf("%d",&n),n)

printf("%d",f(n,n));
    
    return 0;
}











#include <stdio.h>
int f(int a,int b)
{
            if(b==0)                   return 1  ;   
            if(a<b)                    return 0  ;   
     else          
       return f(a-1,b)+f(a,b-1) ; 
}




int main()
{ int n ;
  while(scanf("%d",&n),n)

 printf("%d
",f(n,n));
    
    return 0;
}

原文地址:https://www.cnblogs.com/wc1903036673/p/3870673.html