【算法百题之十八】18年网易面试题,小易买水果

【算法百题之十八】小易买水果

 

    大家好,我是Lampard~~

    很高兴又能和大家见面了,接下来准备系列更新的是算法题,一日一练,早日升仙!

 

    今天的问题是:

    小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。一个人生活增加了许多花费: 小易每天必须吃一个水果并且需要每天支付x元的房屋租金。

   当前小易手中已经有f个水果和d元钱,小易也能去商店购买一些水果,商店每个水果售卖p元。小易为了表现他独立生活的能力,希望能独立生活的时间越长越好,小易希望你来帮他计算一下他最多能独立生活多少天。

 

     要求:

输入:输入包括一行,四个整数x(日租金), f(现有的水果), d(剩下的钱), p(水果的单价)(1 ≤ x,f,d,p ≤ 2 * 10^9),以空格分割

输出:小易生活的天数

 

     思路:

   题目很简单,只要分类讨论两种情况,就是需不需要再买水果

#include <iostream>
using namespace std;

// 输入包括一行,四个整数x(日租金), f(现有的水果), d(剩下的钱), p(水果的单价)(1 ≤ x,f,d,p ≤ 2 * 10^9),以空格分割
// 考虑两种情况,一种是需要买水果,一种是不需要买水果
int main()
{
	int x, f, d, p;
	cout << "请依次输入日租金,现有水果数,剩下的钱,水果的单价:" << endl;
	cin >> x;
	cin >> f;
	cin >> d;
	cin >> p;

	if (d / x <= f)
	{
		// 不需要买水果的情况
		cout<< d / x;
	}

	else
	{
		int money = f * x;
		cout<< (d - money) / (p + x) +f;
	}
}

 

  结果:

测试用例:3 5 100 10

答案:11

 

OK,今天的博客就到这里,谢谢大家!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lampard杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值