/**

*问题描述:一次买n瓶可乐,k个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料?

*下面用不同的方法实现了这个问题(Java实现):

*1.递归方法

*2.非递归方法

*3.公式法

*/

public class CocaCola

{

public int Count(int n, int k)

{

if( n < k )

return 0;

if( n == k )

return 1;

return n/k + Count( n/k + n%k, k );

}

public static void main(String[] args)

{

if(args.length != 2)

return;

int n=Integer.parseInt(args[0]);

int k=Integer.parseInt(args[1]);

//递归

CocaCola cc = new CocaCola();

System.out.println( n + cc.Count(n, k));

//迭代

int total = 0, current = n;

total += current;

do

{

total += current/k;

current = current/k + current%k;

}

while( current >= k );

System.out.println(total);

//公式

System.out.println(n + (n - 1)/(k - 1));

}

}

公式法通过求解是最直接的,通过归纳法可得:total = n + [(n-1)/(k-1)」

java递归空瓶换饮料_问题描述:一次买n瓶可乐,k个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料? | 学步园...相关推荐

  1. 【C# 练习】3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?

    题目:3个可乐瓶可以换一瓶可乐,现在有364瓶可乐. 问:一共可以喝多少瓶可乐,剩下几个空瓶! 首先先看题目 这是道数学题 (好家伙 真没想到还有数学问题qaq) 现在拿出草稿纸一起写: 3 个可乐瓶 ...

  2. C# 3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶! 案例

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?(方法2)

    package com.zhiyou101; /*** 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?* @author Administrator**/pu ...

  4. 3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶

    sum = 364 ping = sum while (ping >= 3):sum += ping // 3ping = ping // 3 + ping % 3print("一共可 ...

  5. 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?

    /* ************************************************************************ > File Name: water.cp ...

  6. 小明买12瓶汽水,喝完后3个空瓶可以换1瓶汽水,问小明一共可以喝多少瓶汽水?

    const totalCount = 12 // 一共多少瓶汽水 const change = 3 // 3个空瓶换一瓶汽水 let totalCo = 0 // 喝到总瓶数 function num ...

  7. java注解判断字段是否存在_使用注解和反射判断指定的字段不能为空

    我们在写项目的时候,如何类比较少.判别指定对象的属性值是否为空,那确实可以,但是随着类的增多,判别对象的属性是否为空就非常的繁琐,所以可以使用自定义注解和反射来判定指定的字段是否为空. 第一步:创建一 ...

  8. 不越狱换壁纸_终于来了!iOS 14.3 正式版,可自动定时换壁纸

    嘿嘿,我没有猜错吧!iOS 14.3 正式版会在12月15日凌晨时段发布,在前几天我就有提到,这一天会发布,主要是与新品 AirPods Max 发售时间与iOS 14.3正式版发布时间一致. 其次这 ...

  9. conda install 换源_科学网—Anaconda 报错Multiple Errors Encountered和添加国内镜像以及换源和恢复默认源 - 张伟的博文...

    (一)情景一 在安装完成 Anaconda 后,创建虚拟环境接连遇到报错 Multiple Errors Encountered  和 Anaconda An HTTP error occurred ...

最新文章

  1. EasyUi – 4.datagrid
  2. TortoiseSVN SendRpt.exe not found解决方案
  3. 自由自在意式手工冰淇淋 果香浪漫的甜蜜
  4. 第三次学JAVA再学不好就吃翔(part70)--BigInteger类
  5. python有多少库存_库存究竟多少才算合理?
  6. 专注计算机专业知识讲授,计算机一级考试MS Office上机指导
  7. struts2无法调用类静态方法的解决办法
  8. 黑马博客——详细步骤(三)项目功能的实现之新增用户
  9. 动态规划入门之最长公共子序列
  10. 故障解决-CPU超频问题解决
  11. CodeForces 584 D.Dima and Lisa(数论)
  12. GJS和GNOME Extension趟坑指南
  13. paper report: DIRT-T
  14. 广东省计算机媒体大赛,年广东省大学生计算机设计大赛.doc
  15. 十大流行健美营养补剂
  16. CentOS 7找回root密码
  17. 2018值得选用的五个Linux服务器发行版
  18. Arch Linux上使用 pandoc 将 markdown 转为 pdf 以及如何查看本机的中文字体 fc-list :lang=zh
  19. Oracle EBS OPM创建会计科目告警:日记帐分录不平衡
  20. java 摩尔斯电码_使用Java进行摩尔斯电码转换

热门文章

  1. 使用delegate类型设计自定义事件
  2. Linux学习第五篇之文件处理命令touch、cat、tac、more、less、head、tail
  3. JS 小知识点汇总
  4. DOM事件处理有三个阶段
  5. ACE(Adaptive Communication Environment)介绍
  6. 妈的我好像发现是哪出问题了
  7. CI框架--加载静态内容
  8. Javascript启动LINUX的x86模拟器
  9. [其它] - 为什么中国的程序员技术偏低
  10. 12-思科防火墙:ASA会话超时