* 问题:
小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。一个人生活增加了许多花费:
小易每天必须吃一个水果并且需要每天支付x元的房屋租金。当前小易手中已经有f个水果和d元钱,小易也能去商店购买一些水果,商店每个水果售卖p元。
小易为了表现他独立生活的能力,希望能独立生活的时间越长越好,小易希望你来帮他计算一下他最多能独立生活多少天。
输入描述:
输入包括一行,四个整数x, f, d, p(1 ≤ x,f,d,p ≤ 2 * 10^9),以空格分割
输出描述:
输出一个整数, 表示小易最多能独立生活多少天。
输入例子1:
3 5 100 10
输出例子1:
11
* 思路:
* 房租每天x元,初始金钱是d元,这些钱全部用来付房租,则可以付day=d/x天的房租,如果一开始带的水果数f大于等于day,
* 说明不用为水果发愁,此时最大住的天数dayMax=day。(钱全部用来付房租)
*
* 如过f<day,则钱不仅要用来付房租,还可能要用来买水果。 事实上小易每天的花费为一个水果价钱加上房租 即 cost=p+x;
* 取巧的思路是,我们将一开始带的水果全部看成钱 ,则此时相当于小易一开始带的钱数为money=d+f*p。然后除以每天的花费,就可以得到最大住的天数。
* 即dayMax=money/cost ;
java代码:
public class IndependentXiaoYi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long x=scanner.nextLong();//日租
long f=scanner.nextLong();//初始水果数量
long d=scanner.nextLong();//初始钱数
long p=scanner.nextLong();//苹果单价
long day=d/x;
if(day<=f){
System.out.println(day);
return;
}
long money= d+f*p;
long cost=x+p;
long dayMax=money/cost;
System.out.println(dayMax);
}
}