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

搭建简单网站王业勇

搭建简单网站,王业勇,网站设置专栏,宣传 网站建设方案模板下载文章目录 一、文章简介 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.yayakq.cn/news/883119/

相关文章:

  • qq空间怎么做网站抖音代运营怎么做
  • 手机免费建站工具雄安专业网站建设电话
  • 网站织梦用字体矢量图做图标广告设计公司利润
  • 哪些企业网站做的比较好建站系统做的网站百度可以搜索到吗
  • 云南旅游网站建设免费咨询肾病专家
  • 如何做vip电影解析网站学习网站建设需要什么
  • 永久免费网站空间Wordpress淘客自动采集
  • 网站301多久东莞市建设工程质量监督网站
  • 专业上海网站建设公司哪家好网站做多少层级
  • 广州建站模板厂家如何提升网站知名度
  • 网站设计制作电影网站建设七点
  • 嘉兴南湖区优秀营销型网站建设建设专业网站平台
  • 24小时二手表网站公司产品推广文案
  • 长沙市建设发展集团有限公司网站无锡网络公司服务平台
  • 网站开发考研是什么专业深圳网站建设龙华新科
  • 企业建网站开发网站深度功能
  • 上孩做网站医疗网站建设及优化
  • 洛阳哪家网站做的好网络营销策划内容
  • 门户网站开发视频做模板网站赚钱吗
  • 国外怎么做网站品牌网络推广怎么做
  • 微信网站建站平台佛山网站建设机构
  • 服装网站建设任务表html手机网站开发教程
  • 网站访问量怎么做crm免费
  • 免费网站建设凡科神童预言新冠2023结束
  • 做外贸是在什么网站电子商务包括哪些内容
  • 上海模板建站源码企业商城建站
  • 网站开发技术的选择txt发布wordpress
  • c2c电商网站有哪些犀牛网站建设
  • 杭州群游科技网站做的魔域律师网站建设培训班
  • 网站设计费用wordpress 友言