题解 1072: 汽水瓶

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

筛选

迭代(C语言代码)

摘要:其实大家如果把所有结果拉出来做个统计的话……会发现其实将总数除以2就行了~但我总觉得这样不是十分的符合题意(个人还是喜欢把整个过程模拟一下) 解题思路:在main函数中,先完成输入,在ca……

汽水瓶-题解(Java代码)

//经过分析可以得到空瓶数与饮料数对应的关系,如果空瓶数为偶数那么饮料数为空瓶数的一般,如果空瓶数为奇数那么饮料数为空瓶数的数量减一的一半。importjava.util.Scanner;publicclassMain{publicstaticvoidmain(Stringargs[]){Scanne

汽水瓶-题解(C++代码)——简单递归(通俗易懂)

解题思路:本题是很明显的递归思路,实际上就是用两瓶空瓶即可换一瓶饮料喝。因此状态转移方程为f(n-2)+1。参考代码:```cpp#include#includeusingnamespacestd;intf(intn){if(n==0||n==1)return0;if(n==2||n==3)retur

汽水瓶-题解(Java代码)

##解题思路**看题目可知汽水瓶每次都得循环判断,直到空的汽水瓶小于等于两瓶.**--------#####代码+注释publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);intn=s.nextInt();do{intsum

汽水瓶-题解(C语言代码)

#includevoidP1(intn){inta=0,b=0,sum=0;while(n!=1)//n代表此刻瓶子的个数;结束时n无非等于1或2;{a=n%3;if(a!=0)//a不等于0时;{b=(n-a)/3;n=a+b;sum+=b;}else//a等于0时;{sum+=n/3;n=n/3;

汽水瓶-题解(C语言代码)

观察可得,喝的汽水数为空瓶数除以二,向下取整。不严格的数学证明,大概是:若空瓶数为n,则可换汽水n/3;这n/3个汽水喝完又可以换n/9(均为向下取整,暂且不考虑多两个空瓶的情况)于是以此类推,总共可以换n/3+n/9+n/27+......=n/2个(无穷递缩等比数列求和公式)上面可知,

汽水瓶:找到最简规律,不使用递归 (C++代码)

首先,题目中说的办法,用两个空瓶子是可以喝到一瓶汽水的,是最高效的办法,而且什么都没有留下,是解决本题的关键,因为它什么都没有留下,所以可以避免使用递归带来的麻烦。按照我们的想法,就是看现有的空瓶子能分成多少个2,通过对比示例,可知猜想正确。

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

摘要:#### 原题链接:[汽水瓶问题](https://www.dotcpp.com/oj/problem1072.html "汽水瓶问题") #### 解题思路: ##### 每三瓶……

汽水瓶 (Java代码)

摘要:参考代码:import java.util.*;public class Main {        public static  void main(String[] args) {        ……