当前位置: 首页 > news >正文

用自己的电脑做网站服务器成都百度推广公司联系电话

用自己的电脑做网站服务器,成都百度推广公司联系电话,seo快速排名优化,互联网服务平台待备案机动车文章目录 一、文章简介 1.先买再换 1.1 代码逻辑: 1.2 完整代码 1.3 运行结果 1.4 根据方法一总结优化 2.边买边换 2.1 代码逻辑: 2.2 完整代码 2.3 运行结果 一、文章简介 本文所述专栏——C语言经典编程问题 C语言刷题_倔强的石头106的博客…

文章目录

一、文章简介

1.先买再换

1.1 代码逻辑:

1.2 完整代码

1.3 运行结果

1.4 根据方法一总结优化

2.边买边换

2.1 代码逻辑:

2.2 完整代码

2.3 运行结果


一、文章简介

本文所述专栏——C语言经典编程问题 C语言刷题_倔强的石头106的博客-CSDN博客

喝汽水问题是一个经典的编程问题

在这个问题中,你初始有n元钱,每瓶汽水1元。并且喝完汽水之后,每2个空瓶子可以换一瓶汽水。求可以喝到多少瓶汽水。

 解决此问题所需的C语言知识储备【C语言基础篇】结构控制(中)循环结构-CSDN博客

本篇文章介绍两种解题思路及过程

1.先买再换

先用初始的n元去买n瓶汽水,这时也拥有了n个空瓶。n个空瓶再去换n/2瓶汽水,这时现有的空瓶数量为 n/2 + n%2 (n%2表示不够换一瓶的数量,可能为1或0),再用现有的空瓶去换汽水直到空瓶数不够换一瓶汽水为止(小于2)。

1.1 代码逻辑:

放到编程中来讲:

① 首先创建变量n,读入初始金额n

②接着创建变量total用于记录可喝汽水数量,初始应该等于金额n

       创建变量empty用于记录当前空瓶子数量,初始也应该等于金额n

③然后进入while循环,循环的条件是空瓶子数量>1,

        循环内部,每一次循环完成——

                空瓶子数量empty除2,等于本次换到的汽水数量,计入喝汽水总量

                换汽水完成之后,本轮空瓶子数量= 空瓶子数量/2+空瓶子数量%2

当循环结束之后,得到的total就是可以喝的汽水总数

1.2 完整代码
//喝汽水问题
//方法一
#include<stdio.h>int main()
{int money = 0;scanf("%d", &money);//输入可用金额int total = money;//初始可喝汽水数量int empty = money;//初始空瓶子数量while (empty > 1){total = total + empty / 2;empty = empty / 2 + empty % 2;}printf("可以喝%d瓶\n", total);return 0;
}
1.3 运行结果

1.4 根据方法一总结优化

如果将程序多运行几次

观察结果,我们就会发现,初始金额n与可喝汽水数量total之间存在着一定规律

n=5,total=9

n=6,total=11

n=7,total=13

n=8,total=15

没错,total=2*n-1

如果在1元买一瓶,两空瓶换一瓶的基础条件下,可以根据上述规律将代码修改

int main()
{int money = 0;scanf("%d", &money);int total = 0;if (money > 0)total = 2 * money - 1;printf("可以喝%d瓶\n", total);return 0;
}

2.边买边换

第二种解题思路是:

得到初始的金钱n后,优先用空瓶子去换汽水当空瓶子不够时,再花钱买一瓶重复上面的过程,直到没钱,以及空瓶子小于2

2.1 代码逻辑:

放到编程中来讲:

① 首先创建变量n,读入初始金额n

②接着创建变量total用于记录可喝汽水数量,初始等于0

       创建变量empty用于记录当前空瓶子数量,初始等于0

③然后进入while循环,循环的条件是金钱>0,或者空瓶>=2

        循环内部,每一次循环完成判断——

               先判断如果空瓶子>=2,可喝汽水数量+1,空瓶子-2

                如果空瓶子不够换,可喝汽水数量+1,金钱-1

当循环结束之后,得到的total就是可以喝的汽水总数

2.2 完整代码
//方法二
#include<stdio.h>
int main()
{int money = 0;scanf("%d", &money);int total = 0;int empty = 0;while ((money > 0)||(empty>=2)){if (empty >= 2)//有空瓶时用瓶换{total++;empty-=2;}else           //没空瓶时用钱买{total++;money--;}empty++;  //得到一瓶时空瓶+1}printf("可以喝%d瓶\n", total);return 0;
}
2.3 运行结果

使用方法二和方法一的效果相同

创作不易,还望点赞支持。如有错误,还望提醒更正。

http://www.hkea.cn/news/12590/

相关文章:

  • 毕业设计购物网站开发的意义如何申请网站域名流程
  • 更改网站文章上传时间广告接单有什么平台
  • 关于网站建设的教材网络营销七个步骤
  • 域名注册网站建设网站推广互联网推广
  • 有哪些网站是响应式的网络营销策略的定义
  • 做编程的 网站上海十大营销策划公司
  • mysql网站数据库百度ai助手入口
  • 如何做登录网站西安seo外包优化
  • 十堰网站优化torrentkitty磁力搜索引擎
  • 柳州网站seo网站推广公司排名
  • 外贸网店建站模板百度公司网站推广怎么做
  • 网站制作素材图片成都黑帽seo
  • 网站服务器不稳定怎么办短视频营销方式有哪些
  • h5快速建站百中搜
  • 网站制作软件区别佛山关键词排名效果
  • 贵州省建设学校网站首页软文什么意思范例
  • 孝感网站制作win7运行速度提高90%
  • 温州营销网站制作费用软文推广怎么做
  • 网站建设技术合同模板淘宝代运营公司排名
  • 行情网免费网站大全如何制作微信小程序店铺
  • 网站 http 状态码返回值 301电商网站设计模板
  • 西安企业网站建设价格小说推广平台有哪些
  • 网站空间pdf下载不了青岛谷歌优化
  • wordpress mac建站seo优化培训多少钱
  • 做海外网站推广刺激广告
  • 2015年做哪个网站能致富用asp做的网站
  • 长沙培训网站制作seo高级优化技巧
  • 公司商标图案大全北京seo收费
  • 请检查网络青岛seo网站推广
  • 网站制作论坛最近的头条新闻