一元钱一瓶水,两个空瓶可以换一瓶,三个盖儿可以换一瓶,20元最多能喝多少?
2017-12-08 23:08
381 查看
#include<iostream> using namespace std; int countwater() { int sumprice=20; int sumpz=0; int sumpg=0; int sum=0; while((sumprice)||(sumpz>=2)||(sumpg>=3)) { while(sumprice) { sumprice--; sum++; sumpz++; sumpg++; } while((sumpz>=2)) { int a=sumpz/2; sumpz%=2; sumprice+=a; } while((sumpg>=3)) { int b=sumpg/3; sumpg%=3; sumprice+=b; } } cout<<"剩下的瓶子数:"<<sumpz<<endl; cout<<"剩下的瓶盖数:"<<sumpg<<endl; return sum; } int main() { cout<<countwater(); return 0; }
贪心算法不一定最优:但是这题就是最优的算法,你可以思考一下(任何一种【除了1元】,剩下组合不可能出现1和1,都是1和2)
相关文章推荐
- 每瓶汽水一元,两个空瓶可以置换一瓶汽水,现有20元,最多可以喝多少瓶?
- 【C语言】每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
- 每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
- 编程实现:每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
- .每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
- .每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
- 【C语言】【面试题】每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
- 【C语言】【面试题】每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
- 假设每瓶汽水1块钱,两个空瓶可以换一瓶汽水,小明现有20元,最多可以喝多少瓶汽水
- 【C语言】【面试题】每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
- C语言:每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
- 每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。(编程实现)。
- C语言:每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
- 每瓶汽水1元,两个空瓶可以置换一瓶汽水, 现在有20元,最多能喝多少瓶汽水。(编程实现)。
- 生活中的小代码,每瓶汽水1元,两能喝多少瓶个空瓶可以置换一瓶汽水,现有20元,最多 能喝多少瓶汽水。(编程实现)
- 每瓶汽水一元,两个空瓶可以置换一瓶汽水,现有N元,最多能喝多少瓶?
- 每瓶汽水1元,两个空瓶可以置换一瓶汽水,现有X元,最多能喝多少瓶汽水。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以买多少汽水