java递归空瓶换饮料_问题描述:一次买n瓶可乐,k个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料? | 学步园...
/**
*问题描述:一次买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个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料? | 学步园...相关推荐
- 【C# 练习】3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?
题目:3个可乐瓶可以换一瓶可乐,现在有364瓶可乐. 问:一共可以喝多少瓶可乐,剩下几个空瓶! 首先先看题目 这是道数学题 (好家伙 真没想到还有数学问题qaq) 现在拿出草稿纸一起写: 3 个可乐瓶 ...
- C# 3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶! 案例
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?(方法2)
package com.zhiyou101; /*** 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?* @author Administrator**/pu ...
- 3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶
sum = 364 ping = sum while (ping >= 3):sum += ping // 3ping = ping // 3 + ping % 3print("一共可 ...
- 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?
/* ************************************************************************ > File Name: water.cp ...
- 小明买12瓶汽水,喝完后3个空瓶可以换1瓶汽水,问小明一共可以喝多少瓶汽水?
const totalCount = 12 // 一共多少瓶汽水 const change = 3 // 3个空瓶换一瓶汽水 let totalCo = 0 // 喝到总瓶数 function num ...
- java注解判断字段是否存在_使用注解和反射判断指定的字段不能为空
我们在写项目的时候,如何类比较少.判别指定对象的属性值是否为空,那确实可以,但是随着类的增多,判别对象的属性是否为空就非常的繁琐,所以可以使用自定义注解和反射来判定指定的字段是否为空. 第一步:创建一 ...
- 不越狱换壁纸_终于来了!iOS 14.3 正式版,可自动定时换壁纸
嘿嘿,我没有猜错吧!iOS 14.3 正式版会在12月15日凌晨时段发布,在前几天我就有提到,这一天会发布,主要是与新品 AirPods Max 发售时间与iOS 14.3正式版发布时间一致. 其次这 ...
- conda install 换源_科学网—Anaconda 报错Multiple Errors Encountered和添加国内镜像以及换源和恢复默认源 - 张伟的博文...
(一)情景一 在安装完成 Anaconda 后,创建虚拟环境接连遇到报错 Multiple Errors Encountered 和 Anaconda An HTTP error occurred ...
最新文章
- EasyUi – 4.datagrid
- TortoiseSVN SendRpt.exe not found解决方案
- 自由自在意式手工冰淇淋 果香浪漫的甜蜜
- 第三次学JAVA再学不好就吃翔(part70)--BigInteger类
- python有多少库存_库存究竟多少才算合理?
- 专注计算机专业知识讲授,计算机一级考试MS Office上机指导
- struts2无法调用类静态方法的解决办法
- 黑马博客——详细步骤(三)项目功能的实现之新增用户
- 动态规划入门之最长公共子序列
- 故障解决-CPU超频问题解决
- CodeForces 584 D.Dima and Lisa(数论)
- GJS和GNOME Extension趟坑指南
- paper report: DIRT-T
- 广东省计算机媒体大赛,年广东省大学生计算机设计大赛.doc
- 十大流行健美营养补剂
- CentOS 7找回root密码
- 2018值得选用的五个Linux服务器发行版
- Arch Linux上使用 pandoc 将 markdown 转为 pdf 以及如何查看本机的中文字体 fc-list :lang=zh
- Oracle EBS OPM创建会计科目告警:日记帐分录不平衡
- java 摩尔斯电码_使用Java进行摩尔斯电码转换