题解 1072: 汽水瓶

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

编写题解 1072: 汽水瓶 (C++代码)

摘要:解题思路:利用递归思路求出空瓶数和已喝瓶数注意事项:自己的笨方法和直接除以二的那位兄台比不了参考代码:#include<bits/stdc++.h>  using namespace std;  ……

利用循环来解决汽水瓶问题

解题思路:一个整数n,首先设置一个对三取余的变量yushu,对3整除的变量zhengshu,还有一个存储总共可以喝到的汽水的总数sum。n/3是原本就可以喝到的汽水数量,n%3是剩下的瓶数,sum+=n/3。然后喝过的汽水瓶加上剩下的就可以成为下一次兑换的依据。

循环计算,注意细节

解题思路:1、一直调用函数本身计算,all这个变量用来计算总值,他的初始值总是0。2、注意喝了多少瓶和产生的多少空瓶,下一次调用的空瓶数应该是n/3加上n%3,而本次喝了的瓶数应该是n/3。3、注意边界条件,这个函数是一个简单递归注意事项:没什么注意事项,

汽水瓶-题解(C++代码)

```cpp#includeusingnamespacestd;inta[10];intf(intx){intn,m=0,sum=0;while(x>2){n=x/3;m=x%3;sum+=n;x=m+n;}if(x==2){returnsum+1;}returnsum;}intmain(){intk

汽水瓶-题解(C++代码)

解题思路:由题意,列表:n2345678910sum112233445可列递推公式:sum(n)=1+sum(n-1);注意事项:这里得到的递推公式和其它方法(取整求余)相比,正确性似乎没法确切保证,但是计算结果不会出错,而且递推式简单了好多哇,我还没想明白这是哪来的规律,求聪明的脑袋们指正。

汽水瓶-题解(C++代码)

```cpp#includeusingnamespacestd;intqishui(intw){intm,n,x,y,sum=0;m=w/3;n=w%3;while(m!=0){sum+=m;x=(m+n)/3;y=(m+n)%3;m=x;n=y;}if(n==2)sum++;returnsum;}i

汽水瓶-题解(C++代码)【真民工向】

-##汽水瓶题解(民工向)本题思路很简单,所以我们将每一次兑换以及兑换后喝掉手中的汽水叫做一个回合。回合开始前手中只有空瓶,回合结束后,手中也只有空瓶。采用while语句判断回合的结束,当手中的瓶子数不足3个时,跳出循环。回合开始,先计算不能进行兑换的空瓶子数——即手中空瓶子数除以3的余数:n%3,