博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程题_汽水瓶
阅读量:3944 次
发布时间:2019-05-24

本文共 910 字,大约阅读时间需要 3 分钟。

题目详述:

题目解析:当有n个空瓶时候,我们设总共可以喝total瓶饮料,那么当n>2时,说明我们可以去换饮料喝。3个换一瓶,那么可以换n/3瓶饮料。接下来,这些饮料喝完后,势必还有空瓶。那么喝完n/3瓶饮料之后的空瓶数是多

少?
答案是:n/3+n%3。这里需要注意:n/3代表换来的饮料,但是这些喝完之后,不就是空瓶吗?相同的为什么需要n%3? 因为比如n=4,最后的空瓶数应该是2。不就是n/3+n%3吗?到这里,我们在看一下。n>2时,可以去换,那
么n=2时,我们可以去商铺借一瓶饮料。

import java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); int n; while(sc.hasNext()){
n =sc.nextInt(); if(n!=0) {
System.out.println(drink(n)); } } } private static int drink(int n) {
int total = 0;//饮料总数 //当大于两个空瓶的时候才可以换饮料 while(n > 2) {
total = total+n/3; //n/3-->能够换来的饮料 n = n/3 + n%3; //新的空瓶子个数--》n%3可能会不能整除 } //如果n==2,说明有两个空瓶可以喝商家借一瓶饮料 if(n == 2) {
total = total + 1; } return total; }}

转载地址:http://nejwi.baihongyu.com/

你可能感兴趣的文章
推荐系统基础
查看>>
redis
查看>>
word2vec参数
查看>>
python的collections
查看>>
LDA和PCA
查看>>
推荐分解:介绍SVD、SVD++
查看>>
FM详解
查看>>
二叉树遍历
查看>>
推荐方法的比较
查看>>
LDA主题模型
查看>>
《集体智慧编程》-优化算法
查看>>
hadoop和spark详解
查看>>
推荐之召回和排序
查看>>
基于社交的推荐
查看>>
Lookalike理解
查看>>
vscode插件
查看>>
MTL多任务学习-Multitask Learning
查看>>
graph-embedding
查看>>
HMM隐马尔科夫模型
查看>>
开发中关键字区别
查看>>