解题思路:
每次都算出当前自己手中的空瓶(n)最多能换多少瓶饮料(k)以及剩下的临时空瓶子数量(a),并且将这些饮料(k)第一时间加到喝的总瓶数(count)中,然后将临时空瓶子的数量和刚刚喝掉的饮料产生的空瓶子相加求出新的空瓶总量(n)。之后对n循环求可换饮料数和最后的空瓶数,当n等于2时,总瓶数(count)自增并跳出循环,等待下一次n的输入。
注意事项:
当前空瓶为2一定要特判,喝的总瓶数加1。
参考代码:
#include<iostream> using namespace std; int main() { int n; int a,k; cin>>n; while(n!=0) { int count=0; while(n>=2) { if(n==2) { count++; break; } else { a=n%3; k=n/3; count+=k; n=a+k; } } cout<<count<<endl; cin>>n; } return 0; }
0.0分
1 人评分
A+B for Input-Output Practice (II) (C语言代码)浏览:622 |
printf基础练习2 (C语言代码)浏览:802 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:507 |
C语言训练-求函数值 (C语言代码)浏览:944 |
简单的a+b (C语言代码)浏览:595 |
简单的a+b (C语言代码)浏览:720 |
淘淘的名单 (C语言代码)浏览:1169 |
完数 (C语言代码)浏览:760 |
蛇行矩阵 (C语言代码)浏览:607 |
C二级辅导-温度转换 (C语言代码)浏览:802 |