题解 | #汽水瓶#
汽水瓶
https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
#include <cstdio>
#include <iostream>
using namespace std;
int drink_water(int num)
{
int result=0;
if(num<2)
result=0;
if(num==2)
result=1;
if(num>2)
{
result= num/3+drink_water(num%3+num/3);//喝完的空瓶补充 递归思想
}
return result;
}
int main() {
int a=0;
int num=0;
while (cin>>a) { // 注意 while 处理多个 case
getchar();
num=drink_water(a);
if(num!=0)
cout<<num<<endl;
}
}
// 64 位输出请用 printf("%lld")

查看5道真题和解析