●买汽水问题是一道非常贴近生活的问题,它不
仅存在于现实生活中,也存在于编程题中。
汽水一元一瓶,两个空瓶可以换一瓶汽水,
用20元可以喝多少瓶汽水?

下面我就这个问题写下两种方法来解决这个问题
代码如下:

//方法一:
int main()
{
	
	int money=20;  //初始化钱
	int empty=20;  //初始化空瓶数
	int total=20;  //初始化喝汽水数
	
	while(empty>1) //当空瓶数>1时,进行循环
	{
		total=total+empty/2;  
		// 喝汽水数+空瓶数的一半
		
		empty=empty/2+empty%2; 
		//空瓶数/2+空瓶数对2求余
		
	}
        printf("%d",total);
	

//方法二:
我们知道借东西是要还的,那我们可以假设
向老板借20个空瓶子,
之后我们再还回去,
那么喝的汽水数就是:2*total;
但最后一个空瓶老板是不会借给你的,因为老板明白
如果借出去就亏了

所以
	int total=20;
	total=2*total-1;   
	//一步直接求出结果,是不是很香
	printf("%d",total); 
	return 0;

 } 
 

// 方法三:按照上述喝水和用瓶子换的规则的话,可以发现,其实就是个等差数列:money*2-1
int main()
{
	int money = 0;
	int total = 0;
	int empty = 0;
 
 
	scanf("%d", &money);
	
	if(money <= 0)
	{
		total = 0;
	}
	else
	{
		total = money*2-1;
	}
	printf("total = %d\n", total);
 
	return 0;
}