解题思路:
暴力解题,先喝后换,满2借1,不足就算。
注意事项:
参考代码:
/*汽水瓶*/ #include"stdio.h" int main() { int i,n,sum=0,temp=0; for(i=0;i<10;i++) //满足题中最多10组数据的条件// { sum=0; temp=0;//初始化// scanf("%d",&n); if(n==0) break; //满足退出循环的条件// if(n<2) printf("0\n"); //一个瓶盖想喝汽水?没门// else if(n==2) //和老板借一个,还可以续个命// printf("1\n"); else { while(n>=3) { sum=sum+n/3; temp=temp+n%3; n=n/3; } //先把手中满足换瓶盖条件的瓶盖先换了// temp=temp+n;//不满足换瓶盖联盟// if(temp<=1) //剩余瓶盖无法续命// printf("%d\n",sum); else if(temp==2) //剩余瓶盖可以续命// printf("%d\n",sum+1); else { while(temp>=3) //续命?不存在,老板,我还要换// { sum=sum+temp/3; temp=temp/3+temp%3; //手中剩余的瓶盖// } if(temp==2) //续命// printf("%d\n",sum+1); else //无法续命// printf("%d\n",sum); } } } return 0; //结束// }
0.0分
0 人评分
时间转换 (Java代码)浏览:576 |
【绝对值排序】 (C++代码)浏览:672 |
1009题解浏览:752 |
1157题解浏览:718 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:691 |
回文数字 (C语言代码)浏览:2510 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:564 |
DNA (C语言代码)浏览:395 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:489 |
A+B for Input-Output Practice (I) (C语言代码)浏览:431 |