#define PI 3.14159
这里不要分号
#include <stdio.h>
int Num(int num)
{
static int more = 0;
if (more == 1 && num == 1)
{//终止条件是more 和 num 都为 1
return 1;
}
if (more == 1)
{//如果是奇数 ,上次有一个空瓶没有兑换, 则需要在下一步减 1,不然会多加一瓶水
num = num - 1;
}
more = num % 2;//如果此次的水是奇数,则在下一个循环 num 需要减掉 1
return num + Num(num / 2 + more);
//加的 more 是没有兑换的空瓶 如果为 1,则需要在下一层减 1
}
int main()
{
int ret = Num(20);
//int ret = Num2(20);
printf("%d\n", ret);
return 0;
}