您的位置:首页 > 编程语言 > Python开发

2018网易校招内推笔试-独立的小易(python)

2017-08-20 12:19 225 查看

题目描述:

小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。一个人生活增加了许多花费: 小易每天必须吃一个水果并且需要每天支付x元的房屋租金。当前小易手中已经有f个水果和d元钱,小易也能去商店购买一些水果,商店每个水果售卖p元。小易为了表现他独立生活的能力,希望能独立生活的时间越长越好,小易希望你来帮他计算一下他最多能独立生活多少天。

输入描述:

输入包括一行,四个整数x, f, d, p(1 ≤ x,f,d,p ≤ 2 * 10^9),以空格分割


输出描述:

输出一个整数, 表示小易最多能独立生活多少天。


示例1

输入

3 5 100 10


输出

11


解题思路:

这道题分类讨论就可以:

1、水果比较多,钱比较少,导致水果还没吃完,钱已经付完房钱了。这种情况,只能过d/x

2、钱足够多,多到可以吃完水果,要开始买水果。这里有分,水果比较贵,一个都买不起,则为生活f天;水果买的起,这可以过n天,n满足

n*x+(n-f)*p<=d  -> max n=(d+f*p)/(x+p)


代码如下:

mport sys
line=sys.stdin.readline().strip()
def get_n(s):
s_list=s.split()
x=int(s_list[0])
f=int(s_list[1])
d=int(s_list[2])
p=int(s_list[3])
if d<=f*x:
return d/x
if d>f*x:
if f*x+p>d:
return f
else:
return (d+f*p)/(x+p)

print get_n(line)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网易 python 校招笔试