描述
松哥大吃一顿后,他的体重随着时间的增长而不断增长,直到有一天他的体重达到了n吨,他意识到他不能再这样下去了,所以他居然决定减肥。他每天上午跑步能够减少a吨,但是晚上吃饭又增加了b吨。松哥想要直到第几天后他的体重第一次小于m吨,你能告诉他嘛?
输入
多组测试数据。
每组测试数据包含4个正整数n,m,a,b。
所有的整数大小均不大于10000。
输出
对于每组测试数据,输出一个整数代表松哥第几天后他的体重第一次小于m吨。
如果不可能输出”impossible”.
输入样例 1
5 1 3 1
输出样例 1
2
这题主要是计算n至少要经历几个a-b就会达到小于m,但是如果n和m相等的话就算a小于b其实也是可以的,因为早上就到了m以下了,那就可以了,这点要注意
#include <iostream>
using namespace std;
int main()
{
int n,m,a,b;
while(cin>>n>>m>>a>>b)
{
int cont=0;
while(n>=m)
{
cont++;
n-=a;
if(n<m)
break;
if(a-b<=0)
{
cont=-1;
break;
}
n+=b;
}
if(cont>=0)
cout<<cont<<endl;
else
cout<<"impossible"<<endl;
}
return 0;
}