喝汽水问题(使用c语言解决)

目录

问题描述

解题方法一

解题思路:

代码实现

解题方法二

解题思路:

代码实现

解题方法三

解题思路:

代码实现

总结



问题描述

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水?

解题方法一

解题思路:

每次花1元买一瓶,买完后判断是否有两个空瓶,如果有两个空瓶就直接换一瓶汽水。

代码实现

int main()
{int money = 0;scanf("%d", &money);int bottle = 0;while (money > 0){bottle++;money--;if (bottle % 2 == 0)//2空瓶换一瓶汽水bottle++;}printf("%d\n",bottle);return 0;
}

方法一效率较低,需要循环20次。让我们接下来看方法二


解题方法二

解题思路:

1.首先已知钱是20元,一元一瓶汽水,那可以先把20元全换成汽水。

2.把20瓶空瓶汽水换成10瓶汽水,再把十瓶空瓶汽水换成5瓶汽水,直到没有空瓶可以换。最后把所有空瓶汽水加起来就是20元可以喝的汽水瓶数。

代码实现

int main()
{int money = 0;int bottle = 0;int empty = 0;scanf("%d", &money);bottle = money;empty = money;while (empty > 1){bottle += empty / 2;empty = (empty / 2) + (empty % 2);}printf("%d\n",bottle);return 0;
}

此方法对比方法一的运行效率略好一些。


解题方法三

解题思路:

根据题意,我们可以发现空瓶数是一个等差数列问题:

代码实现

int main()
{int money = 0;int bottle = 0;scanf("%d", &money);if (money > 0)bottle = 2 * money - 1;elsebottle = 0;printf("%d\n", bottle);return 0;
}

如果你能用第三种方式实现,恭喜你应该是用来运行效率最高的方式解决了该问题。


总结

每个人实现代码的思路都不相同,希望我的方法能够帮到你。如果有什么问题也欢迎在评论区与我一起交流。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP8266接入小爱同学—智能LED台灯或风扇(利用继电器)

ESP8266接入小爱同学—智能LED台灯或风扇 上周用esp8266做了一个语音智能台灯,也参考了很多网上的教程,也不难,挺简单的,在这里分享一下。 首先我用的是arduino IDE对esp8266进行的编译,arduino对8266编译环境的具体…

【Homeassistant 的Node-red插件之小爱同学语音功能开通】

欢迎大家阅读2345VOR的博客【Homeassistant 的Node-red插件之小爱同学语音功能开通】,本页是Homeassistant 的Node-red插件之小爱同学语音功能开通,实现播报任意带变量的文本🥳🥳🥳2345VOR鹏鹏主页: 已获得CSDN《嵌入式领域优质创作者》称号🎉🎉、阿里云《arduino…

esp8266接入米家、小爱同学,附开源app控制

超简单,两步完事 第一步 下载程序到esp8266第二步 绑定到米家第三步 (附)开源app控制 第一步 下载程序到esp8266 下载地址: 点击下载 本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配…

【IoT物联网全栈之路 ②】如何快速体验,微信公众号配网,天猫精灵和小爱同学双通讯;(附带Demo)

本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。 1、 开门大篇,xClouds是什么?我什么要做?为什么要开源&…

ESP8266对接巴法云平台实现小爱同学控制开关灯

原理:esp8266连接巴法云平台mqtt服务并订阅主题,通过小爱语音发出指令,相当于mqtt的消息推送,从而进行控制esp8266 。 1. 巴法云平台创建MQTT设备云主题 在控制台新建mqtt设备云主题,字母数字自定义组合即可。 现在支…

小爱同学桌面提醒器开发0基础教程

1、视频效果 小爱同学桌面显示器 学会烧录软件到开发板,会改代码修改wifi信息,我在添加一下你的信息,就可以玩了。 2、实现原理 3、实现步骤: 购买开发板》烧录代码》连接大白服务器(服务器对接小爱同学开放平台过程…

Arduino应用开发——通过小爱同学控制灯光

Arduino应用开发——通过小爱同学控制灯光 目录 Arduino应用开发——通过小爱同学控制灯光前言1 工作原理2 硬件准备3 软件准备3.1 Arduino IDE环境搭建3.2 Blinker APP账号注册和使用 4 编写程序5 关联米家APP和Blinker设备6 语音控制测试7 进阶用法7.1 亮度控制7.2 色温控制7…

小爱同学控制单片机或者其它硬件的思路记录

由于小米只能家具生态的协议是不开放的,但是有很多同学想使用小爱同学的语音功能去控制单片机、树莓派或者其他DIY硬件。因此有个下面这个构想。初步验证可行。 实验具备条件 DIY设备联网(直接或者间接) 小米手机(小爱同学&…

小爱同学、Blinker 控制esp32自带灯熄灭---Micropython版本

操作官方案例修改增加小爱同学控制支持,具体代码上传到github可以参考,有帮助的话麻烦请star支持下,有细节问题也麻烦指出和交流 github地址: https://github.com/lonngxiang/xiaoai_blinker_mpy小爱控制eap32、blinker 1、具体实现细节 主…

小爱同学控制美的美居中的家电热水器,空调等

背景 家里大多数家电都是支持接入米家App的,美的家电不能接入小米,电脑安装Home Assistant成功实现小爱语音控制美的燃气热水器。 实现步骤: 1. 安装docker 我的电脑是windows的,那就直接安装docker desktop https://desktop.…

stm8/stm32如何通过ESP8266连接天猫精灵和小爱同学,实现(AT指令)语音助手控制硬件设备

stm8/stm32如何通过ESP8266连接天猫精灵和小爱同学,实现(AT指令)语音助手控制硬件设备 博主还是菜鸟,只是这段时间DIY弄了这些东西,让同样喜欢动手的朋友有个参考,我这个开发超级简单,用的都是三…

ESP8266 快速对接小爱同学 语音控制

ESP8266 快速对接小爱同学 一、环境资料二、安装配置三、下载Blinker手机APP,并更改符合小米小爱协议的代码四、米家绑定Blinker点灯 一、环境资料 1. 硬件:ESP8266 NodeMCU 开发板 点击查阅硬件开发文档 2. 点击参考blinker官方开发文档 3. 开发工具…

esp8266接入小爱同学,通过mqtt

原理:esp8266连接mqtt服务,并订阅mqtt的主题,当通过小爱语音发出指令,相当于mqtt的消息推送,由于esp8266订阅了主题,就可以收到小爱同学推送的消息,从而进行控制esp8266。 第一步 下载程序到esp…

变更后的微软365服务器,二连撤:继Windows后微软再撤回Office 365客户端更新

IT之家12月13日消息 继早前微软撤回针对Windows 10用户的Autopilot“KB4532441”更新后,微软近日再度撤回Office 365的更新。 从微软官方支持网站给出的公告来看,微软表示Office 365 ProPlus用户在通过Configuration Manager下载Office 365客户端更新时可…

我今天表演加班,一连,二连,三连

DOS中的Debug 是为DOS提供的有力的侦错,跟踪程序运行,检查系统数据的工具程序,它是在字符界面下以单字符命令方式工作。要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了…

机器人动力学建模实例:二连杆机械臂

机器人动力学方程比较复杂,通常每一个参数矩阵都非常庞大,这里介绍几个简单结构的动力学方程,对于一般的控制算法,可以在这几个动力学方程中进行验证。 1、欧拉-拉格朗日动力学方程 (不考虑摩擦和末端受力&#xff0…

ACTF 2022圆满落幕,0ops战队二连冠!!

2022年06月27日09:00,经过48小时激烈比拼,第七届XCTF国际联赛最后一场分站赛:ACTF 2022圆满落幕。本场赛事由XCTF国际联赛主办,南京市科学技术协会协办,浙江大学AAA战队组织,赛宁网安提供技术支持。 作为各…

内卷大厂系列《全排列问题二连击》

作者:mzoe666888 大厂高频算法面试题:《全排列问题系列》,您将学到如何设计递归,递归的好坏直接影响到动态规划,其次递归涉及到深度优先遍历时,要考虑恢复现场,如何剪枝,如何去重等技…

二连杆纯连杆动力学建模——LangrageEquation with Matlab

运用拉格朗日方程建立二连杆的纯连杆动力学方程,通过推导其过程明白原理。通过优化程序向多连杆动力学过度,方便后期计算n连杆动力学控制做基础。 我首先通过笔算整整算了10页纸,和参照书本结果一直。然后进行了逐步计算的matlab化&#xff0…