题目 1072: 汽水瓶

news2024/11/19 12:32:14

有这样一道智力题:“某商店规定:三个汽水瓶可以换一瓶汽水。小张手上有汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个瓶子一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入格式
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。

输出格式
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
样例输入
3
10
81
0
样例输出
1
5
40

解析:

以10个空瓶子为例,从上往下看

据图可知,存在特殊情况空瓶子余下2,可以找老板借1瓶。

现在喝完(喝的总数cnt+1),由2+1=3个空瓶,又可以换1个满的(还给老板,不喝)。我们知道,当空瓶余2的时候,喝的总瓶子数cnt可以多1瓶就可以了。

如果空瓶子emptyの数量>3的时候,至少可以换1瓶满的(每3瓶换1个,加到喝的总瓶子数cnt里);

所以当空瓶子<3的时候,就该结束了:

小于3有三个情况: 0,1,2

空瓶empty余下数等于1的时候,假设我们凑到3瓶空的,也就是找老板借走2瓶满的。我们可以用1+2换1瓶,但是要换2瓶,于是喝的总数是cnt+1-2(?)。+1是3个空的换的1个满的,-2是找老板借的要还的2瓶满的。显然不对。

空瓶数为0直接结束,所以只拿空瓶子数为2作特殊情况即可。

#include<iostream>
using namespace std;

//3个汽水瓶能换一个整的
int MaxCnt(int empty){
    int full=0;   //满的
    int cnt=0;   //目前为止换了多少瓶
    
    while(empty>=3){
        int temp=empty/3;
        cnt+=temp;    //换成满的->空的
        empty=empty%3+temp;
        
    }
    
    if(empty==2){
        cnt++;  //如果余两个空瓶 可以再借1个还回去1个 
    }
    
    return cnt;
}

int main(){
    int empty;
    while(cin>>empty && empty!=0){
        cout<<MaxCnt(empty)<<endl;
    }
    
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1046618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业设计 基于HTML语言的环保网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

助力交叉学科应用型数据科学人才培养,和鲸科技携手华为发布联合解决方案

时代高速发展&#xff0c;智能化的浪潮奔腾而来&#xff0c;以“加速行业智能化”为主题&#xff0c;第八届华为全联接大会&#xff08;HUAWEI CONNECT 2023&#xff09;于 9 月 20 日正式开幕。本次大会中&#xff0c;华为携手生态伙伴引领智慧教育新风尚&#xff0c;和鲸科技…

Spring面试题14:Spring中什么是Spring Beans? 包含哪些?Spring容器提供几种方式配置元数据?Spring中怎样定义类的作用域?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring中什么是Spring Beans? 包含哪些? 在Spring中,Spring Beans是指由Spring容器管理的对象。Spring Beans包含以下内容: 类定义(Class De…

vue实现CBC加密/解密

我们现在终端引入输入 npm install crypto-js引入依赖 突然发现 crypto-js 确实是一个加密的神器 然后 我们直接在App.vue组件这样写吧 <template><div><input v-model"plainText" placeholder"输入明文" /><button click"enc…

XC4150B 3W单声道D类音频功率放大器 可用于蓝牙音箱、行车记录仪

XC4150B是一款超低EMI、无需滤波器3W单声道D类音频功率放大器。XC4150B采用先进的技术&#xff0c;在全带宽范围内极大地降低了 EMI干扰&#xff0c;最大限度地减少对其他部件的影响. XC4150B内置过流保护、过热保护及欠压保护功能&#xff0c;有效地保护芯片在异常工作…

你准备好使用 MySQL 10 了吗?

作者 | Norvald Ryeng 来源 |https://dev.mysql.com/blog-archive/are-you-ready-for-mysql-10/ 大家好&#xff0c;我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 你准备好使用 MySQL 10 了吗&#xff1f;欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号&#…

【VUE复习·2】@click 之事件处理与函数(可传参);@click 阻止事件冒泡应用场景;@click 多修饰符应用场景(高级)

总览 1.“事件处理”是什么 2.click 函数参数传递应用 3.click 阻止事件冒泡应用场景 4.click 多修饰符应用场景&#xff08;高级&#xff09; 一、“事件处理”是什么 1.概念 我们在和页面进行交互时&#xff0c;进行点击或滑动或其他动作时&#xff0c;我们操作的是 DOM …

rpc网络

零拷贝 直接IO技术 磁盘–>内核缓冲区(内核空间)–>应用程序内存(用户空间)–>Socket 缓冲区(内核缓冲区)–>网络。 内存映射文件技术 磁盘–>内核缓冲区(内核缓冲区)–>Socket缓冲区(内核缓冲区)–>网络 零拷贝技术 磁盘–>内核缓冲区–>网络…

0基础学习VR全景平台篇 第103篇:使用英文、法文、德文等其他语言

大家好&#xff0c;欢迎观看蛙色VR官方系列——后台使用课程&#xff01; 蛙色VR平台目前已支持中英文语言进行切换&#xff0c;本期教程为大家带来&#xff0c;如何实现日文、法文、德文、俄文乃至其他小语种离线包里语言切换教程&#xff01; 语言切换样例展示 一、使用本功…

Appium+Python实现iOS自动化测试~环境搭建

Appium是一款开源的跨平台测试自动化工具&#xff0c;适用于本地&#xff0c;混合和移动网络和桌面应用程序。支持模拟器&#xff08;iOS、Android&#xff09;和真实设备&#xff08;iOS&#xff0c;Android&#xff0c;Windows&#xff0c;Mac&#xff09;。 准备工具 Xcod…

DRM遇到的实际问题及领悟(2)

接前一篇文章&#xff1a;DRM遇到的实际问题及领悟&#xff08;1&#xff09; 三、进一步定位 上回说到使用网上例程有同样会遇到mmap错误的问题&#xff0c;对于这个错误&#xff0c;perror只给出了“Invalid argument”的错误原因&#xff0c;具体错在哪里&#xff0c;并不知…

多元回归分析

建模复习 目录 前言 一、回归的思想 1,介绍 2&#xff0c;回归分析的分类 3&#xff0c;数据类型 二、一元线性回归 1&#xff0c;一元线性函数拟合 2&#xff0c;一元线性回归模型 3&#xff0c;回归系数 1&#xff0c;回归系数的解释 2&#xff0c;内生性 3&…

大模型技术实践(四)|参数高效微调技术解析及AdaLoRA的应用

在上一期的大模型技术实践中&#xff0c;我们为大家介绍了基于“LangChainLLM”框架快速搭建知识增强后的问答机器人&#xff0c;并探讨了提升模型内容理解和执行能力的潜在优化方向。本期内容UCloud将为您介绍参数高效微调技术&#xff08;PEFT&#xff09;&#xff0c;即对已…

软件研发团队建设---利用“鲇鱼效应”推进研发团队人文环境的建设手记(2)

软件研发团队建设—利用“鲇鱼效应”推进研发团队人文环境的建设手记&#xff08;2&#xff09; 背景 软件研发团队建设—如何协助业主建设软件研发团队并提高其力量的手记&#xff08;1&#xff09; 与业主某研发人员的沟通 &#xff08;长图&#xff0c;耐心点&#xff0…

CDS(一)

Core Data Services 核心数据服务 DDL 定义Query Language 查询DCL 控制&#xff08;权限相关&#xff09;model&#xff0c;从语义层获取数据open SQL 访问CDS viewCDS权限定义,集成旧的权限概念扩展native SQL扩展SQL建模和声明 ABAP ViewCDS View支持所有数据库是是支持查询…

全网最细,Jenkins配合GitLab分支自动合并/自动创建(超细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 GitFlow工作流简介…

python(自4) xpath下载 lxml安装 lxml语法 使用方式

&#xff08;一&#xff09;安装 搜索xpath 讲解 XPath 教程 (w3school.com.cn) 一&#xff0c;下载地址 &#xff1a; https://chrome.zzzmh.cn/info/hgimnogjllphhhkhlmebbmlgjoejdpjl 二 &#xff0c;拖拽 &#xff08;二&#xff09;lxml安装 cmd 打开终端 cd pythond…

数据库及分类详细介绍

目录 一、数据库详细介绍1、什么是数据库2、数据库的种类3、常见的数据库4、关系型数据库4.1、关系型数据库介绍4.2、关系型数据库的优缺点4.3、关系型数据库小结 5、非关系型数据库5.1、非关系数据库诞生的背景5.2、非关系型数据库的介绍5.3、非关系型数据库的优缺点5.4、非关…

LInux本地连接超时ip未显示

关闭防护墙 systemctl stop firewalld 查看防火墙状态 systemctl status firewalld 开启80端口 /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 查看Ip ifconfig