一个水池,装有甲乙两个进水管。单开甲管a小时可将空水池注满,单开乙管b小时可将空水池注满。现在按甲、乙、甲、乙、……的顺序轮流开放1小时,问多少小时才能把水池注满?
输入
输入有多组数据。
每组数据包含两个正整数a和b,分别表示甲乙进水管多少小时可以注满水池。当输入的数据中有一个0时,结束输入,同时此行数据不需要计算输出。
每组数据包含两个正整数a和b,分别表示甲乙进水管多少小时可以注满水池。当输入的数据中有一个0时,结束输入,同时此行数据不需要计算输出。
输出
输出对应有多行,每行输出一个正整数,表示多少小时可以注满水池。
样例输入 Copy
6 8
0 5
样例输出 Copy
7
代码实现:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
int n,cnt;
while (cin>>a>>b&&(a!=0&&b!=0))
{
n=0;
cnt=0;
while(n<a*b)
{
if(cnt%2==0)
{
n=n+b;
}
else
{
n=n+a;
}
cnt++;
}
cout<<cnt<<endl;
}
return 0;
}