#include<stdio.h>
#include<stdlib.h>
int sum=0;
void fengpei(int n,int a,int b)//剩余人数 第一种糖果数量 第二种糖果数量
{
if(n==1) //仅剩余一人,无需递归
{
if(a+b>=2&&a+b<=5) sum++;
}
else if(a+b<n*2) sum;//不足剩余分配
else
{
for(int i=2;i<=5;i++)//个人糖果总数量
{
for(int j=0;j<=i;j++)//设第一种糖果数量,可知第二种糖果数量为i-j
{
if(a-j>=0&&b-(i-j)>=0)//确保糖果数量足够分配
fengpei(n-1,a-j,b-(i-j));
}
}
}
}
int main()
{
fengpei(7,9,16);
printf("%d",sum);
return 0;
}
蓝桥杯 分糖果 C语言
于 2024-04-12 12:22:20 首次发布
![](https://img-home.csdnimg.cn/images/20240611030827.png)