1.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,
给20元,可以多少汽水。
编程实现。
int purchase(int a)
{
if (a > 1)
{
int b = a / 2;
int c = a % 2;
return b+purchase(b + c);
}
else
{
return 0;
}
}
int main()
{
int a = 20;
//scanf("%d", &a);
int b = a + purchase(a);
printf("%d", b);
return 0;
}
这里用递归的思想就很简单。将每次空瓶的个数都传递到下一层函数。知道不满足进入递归条件,开始返回。