网易2018校招内推编程题 独立的小易

 * 问题:
小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。一个人生活增加了许多花费: 
小易每天必须吃一个水果并且需要每天支付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);
	}
}


上一篇:TensorFlow-Slim image classification library:TensorFlow-Slim 图像分类库


下一篇:网易2018校招内推编程题 操作序列