博客
关于我
1255: [蓝桥杯2015初赛]饮料换购 【水题】
阅读量:123 次
发布时间:2019-02-26

本文共 515 字,大约阅读时间需要 1 分钟。

瓶盖兑换问题的计算方法

在这个问题中,我们需要计算喝瓶子的数量,并根据瓶盖数量兑换新的瓶子。具体来说,喝三瓶可以兑换一瓶,这相当于每次喝两瓶实际上可以得到一瓶补偿。因此,我们可以通过以下方法来计算总共需要喝多少瓶子。

假设初始有n瓶子,我们需要通过循环的方式计算总共需要喝的瓶数。每次喝两瓶,得到一瓶补偿,这样总瓶数会逐渐减少。具体步骤如下:

int n; while (cin >> n) { int sum = n; int temp = n; while (temp >= 3) { sum += temp / 3; temp = temp / 3 + temp % 3; } cout << sum << endl; }

优化思路:喝两瓶换一瓶

在这个优化方案中,我们意识到喝两瓶可以兑换一瓶,这样总瓶数会减少。具体来说,每次喝两瓶,相当于净喝一瓶。因此,我们可以通过以下方式来计算总共需要喝的瓶数:

int n; while (cin >> n) { int ans = 0; while (n >= 3) { n = n - 2; ans = ans + 3; } cout << ans + n << endl; }

转载地址:http://hrfy.baihongyu.com/

你可能感兴趣的文章
Objective-C实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)
查看>>
Objective-C实现n body simulationn体模拟算法(附完整源码)
查看>>
Objective-C实现naive string search字符串搜索算法(附完整源码)
查看>>
Objective-C实现natural sort自然排序算法(附完整源码)
查看>>
Objective-C实现nested brackets嵌套括号算法(附完整源码)
查看>>
Objective-C实现nevilles method多项式插值算法(附完整源码)
查看>>
Objective-C实现newton raphson牛顿-拉夫森算法(附完整源码)
查看>>
Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
查看>>
Objective-C实现newton_forward_interpolation牛顿前插算法(附完整源码)
查看>>
Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
查看>>
Objective-C实现ngram语言模型算法(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现Node.Js中生成一个UUID/GUID算法(附完整源码)
查看>>
Objective-C实现not gate非门算法(附完整源码)
查看>>
Objective-C实现NQueen皇后问题算法(附完整源码)
查看>>
Objective-C实现number of digits解字符数算法(附完整源码)
查看>>
Objective-C实现NumberOfIslands岛屿的个数算法(附完整源码)
查看>>