(12)喝汽水

文章目录

  • 每日一言
  • 题目
  • 解题思路一
    • 代码
  • 解题思路二
    • 代码
  • 结语

每日一言

长风沛雨,艳阳明月。田野被喜悦铺满,天地间充满着生的豪情。


题目

已知1瓶汽水1元,2个空瓶可以换一瓶汽水,输入整数n(n>=0),表示n元,计算一共可以得到多少瓶汽水?


解题思路一

因为一瓶汽水一元,所以我们可以把n看做有几瓶汽水。
假设我有5元,也就是5瓶汽水,此时空瓶也是5
在这里插入图片描述
题目说两个空瓶可以换一瓶
在这里插入图片描述
把每个红色部分看成一瓶,还剩3个空瓶
在这里插入图片描述
同理,把每两瓶看做一瓶
在这里插入图片描述
把每个红色部分看成一瓶,还剩2个空瓶
在这里插入图片描述

把每个红色部分看成一瓶,还剩1个空瓶
在这里插入图片描述
接下来数一数一共喝了多少瓶

注意:红圈里的是用空瓶子新换的

一共有5+2+1+1=9瓶

代码

int main() {int sum = 0;//汽水scanf("%d", &sum);int kong = sum;//空瓶数while (kong>=2) {//空瓶多余2个就兑换sum += kong/2;//新换的饮料kong = kong / 2 + kong % 2;//兑换后的空瓶数}printf("%d", sum);return 0;
}

解题思路二

这道题有没有什么规律呢?
当n=1时,sum=1
当n=2时,sum=3
当n=3时,sum=5
当n=4时,sum=7
当n=5时,sum=9

通过以上列举出来的式子,不难总结出 sum = 2*n - 1

以上只是我们通过不完全归纳法证出来的,仔细思考一下到底对不对?
我们可以这样想:2个空瓶可以换1瓶饮料和1个空瓶,相当于一个空瓶换一瓶汽水,不管你开始有几瓶,最后一定只剩一个空瓶,所以sum = 2*n - 1

难道sum的表达式真的是这样吗?
哈哈~别忘了,当n=0时,sum肯定不是负数

代码

int main() 
{int n = 0;//汽水scanf("%d", &n);if (n > 0)printf("%d", n * 2 - 1);elseprintf("0");return 0;
}

结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正


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

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

相关文章

幻兽帕鲁专用服务器,多人游戏(专用服务器)搭建

玩转幻兽帕鲁服务器,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…

修改MFC图标

摘要:本文主要讲解了MFC程序窗口图标的添加、任务栏、底部托盘的图标添加,以及所生成的exe文件图标的添加。 ​​​​​​​1、在资源视图添加Icon资源 透明图标怎么制作? 1)点击图片》右键:使用画图3D进行编辑 2&a…

SpringBoot 过滤器Filter 拦截请求 生命周期

介绍 当用户请求接口时,请求会先到过滤器,在到处理逻辑的接口,在过滤器中可以可以判断用户权限,如:是否登录,或请求前的一些操作,完成一下比较通用的操作,如:前端的AXIO…

如何在影音行业使用IP定位

随着数字音视频技术的发展,用户对于音视频运营团队的运营效率、信息安全、用户体验等需求也与日俱增。IP地址数据服务可有效帮助企业优化全球流量路径,实现更快更顺畅的内容分发,有效辅助核验用户身份,防范虚假账号,在…

SpringBoot实战项目第一天

环境搭建 后端部分需要准备: sql数据库 创建SpringBoot工程,引入对应的依赖(web\mybatis\mysql驱动) 配置文件application.yml中引入mybatis的配置信息 创建包结构,并准备实体类 完成今日开发后项目部分内容如下图示 用户注册于登录部分…

大数据分析|大数据分析的十大应用领域

有许多技术可用于分析大数据。这项工作介绍了BDA适用的各种分析技术领域如下。 (1)社会分析 社交分析是实时数据分析中一个重要且不断发展的分析方法。它分为社交网络(例如,Facebook和LinkedIn),博客(例如,Blogger和W…

【MySQL】学习并使用DQL实现排序查询和分页查询

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-SP91zTA41FlGU0Ce {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

蓝桥杯嵌入式第六届真题(完成)STM32G431

蓝桥杯嵌入式第六届真题(完成)STM32G431 题目部分 相关文件 main.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program b…

C++参悟:扩展资源

有用的资源 一、概述二、模式、手法、提示和技巧1. cpppatterns2. C Core Guidelines3. MSDN 三、第三方库 一、概述 在 cppreference 中我发现了很多比较有趣的扩展资源。我是从其官网下载的离线 chm 版本以便查看 https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5 在我下…

YoloV8改进策略:Neck改进:HAM混合注意力机制改进YoloV8|多种改进,多种姿势涨点|代码注释详解

摘要 HAM通过快速一维卷积来缓解通道注意机制的负担,并引入通道分离技术自适应强调重要特征。HAM作为通用模块,在CIFAR-10、CIFAR-100和STL-10数据集上实现了SOTA级别的分类性能。 论文链接:https://www.sciencedirect.com/science/article/abs/pii/S0031320322002667?vi…

嵌入式学习第十六天!(Linux文件查看、查找命令、标准IO)

Linux软件编程 1. Linux: 操作系统的内核: 1. 管理CPU 2. 管理内存 3. 管理硬件设备 4. 管理文件系统 5. 任务调度 2. Shell: 1. 保护Linux内核(用户和Linux内核不直接操作,通过操作Shell,Shell和内核交互…

Linux---yum命令详解

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.概念2.yum的配置信…