博客
关于我
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实现largest AdjacentNumber最大相邻数算法 (附完整源码)
查看>>
Objective-C实现largest subarray sum最大子数组和算法(附完整源码)
查看>>
Objective-C实现largestPrime最大素数的算法 (附完整源码)
查看>>
Objective-C实现lazy segment tree惰性段树算法(附完整源码)
查看>>
Objective-C实现LBP特征提取(附完整源码)
查看>>
Objective-C实现LDPC码(附完整源码)
查看>>
Objective-C实现least common multiple最小公倍数算法(附完整源码)
查看>>
Objective-C实现Lempel-Ziv压缩算法(附完整源码)
查看>>
Objective-C实现Length conversion长度转换算法(附完整源码)
查看>>
Objective-C实现Levenshtein 距离算法(附完整源码)
查看>>
Objective-C实现levenshteinDistance字符串编辑距离算法(附完整源码)
查看>>
Objective-C实现lfu cache缓存算法(附完整源码)
查看>>
Objective-C实现LFU缓存算法(附完整源码)
查看>>
Objective-C实现linear algebra线性代数算法(附完整源码)
查看>>
Objective-C实现linear congruential generator线性同余发生器算法(附完整源码)
查看>>
Objective-C实现linear discriminant analysis线性判别分析算法(附完整源码)
查看>>
Objective-C实现linear regression线性回归算法(附完整源码)
查看>>
Objective-C实现linear search线性搜索算法(附完整源码)
查看>>
Objective-C实现Linear search线性搜索算法(附完整源码)
查看>>
Objective-C实现LinearSieve线性素数筛选算法 (附完整源码)
查看>>