题目描述
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是 5 瓶,方法如下:先用 9 个空瓶子换 3 瓶汽水,喝掉 3 瓶满的,喝完以后 4 个空瓶子,用 3 个再换一瓶,喝掉这瓶满的,这时候剩 2 个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用 3 个空瓶子换一瓶满的还给老板。如果小张手上有 n 个空汽水瓶,最多可以换多少瓶汽水喝?
输入
第一行一个正整数 T,表示数据组数 (1 <= T <= 10)
接下来每行一个正整数 n,表示小张手上的空汽水瓶数 (1 <= n <= 100)
接下来每行一个正整数 n,表示小张手上的空汽水瓶数 (1 <= n <= 100)
输出
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。
如果一瓶也喝不到,输出 0 。
如果一瓶也喝不到,输出 0 。
样例输入
3
3
10
81
样例输出
1
5
40
题目来源:湖南省第六届大学生计算机程序设计竞赛
#include
#include
using namespace std;
int main()
{
int T;
cin>>T;
int n;
int a;
int b;
int num;
for(int i=1;i<=T;i++)
{
cin>>n;
a=0;
num=0;
b=n;
while(b>=3)
{
a=b/3;
num+=a;
b=b%3+a;
}
if(b==2)
{
num++;
}
cout<
<
题目类型:
按照题目的指令寻找规律,将题目重现
重点:读懂题意