美团 · 基础数学 · 算法编程题
美团 基础数学 时限 1 秒 / 256 MB

题目描述

小美在手机上种果树,只要成熟了就可以领到免费的水果了。
小美每天可以给果树浇水,果树的成长值加 x 。同时也可以给果树施肥,两次施肥至少需要间隔 2 天,果树的成长值加 y 。果树成长值达到 z 就成熟了。
小红想知道,最少需要多少天可以领到免费的水果。

输入输出

输入描述
一行三个整数 x,y,z ,分别表示浇水的成长值,施肥的成长值,果树成熟的成长值。
1 ≤ x, y, z ≤ 10^9
输出描述
一行一个整数,表示最少需要多少天可以领到免费的水果。

样例共 1 组

样例 1 · 第一天施肥浇水,成长值为 3。 第二天浇水,成长值为 3 + 1 = 4。 第三天浇水,成长值为 4 + 1 = 5。 第四天施肥浇水,成长值为 5 + 3 = 8。 第五天浇水,成长值为 8 + 1 = 9。 第六天浇水,成长值为 9 + 1 = 10。 果树成熟了,可以领到免费水果了!
输入
1 2 10
输出
6

算法解析依据充分

考点:基础数学

限制 1 秒 / 256MB | 标准输入输出

题目画像

  • 元素值域:x ≤ 1e9,y ≤ 1e9,z ≤ 1e9(注意整数类型选择,避免溢出)
  • 源站时限:1 秒(牛客口径,非本题专属门槛)

解题思路

推荐方向:基础数学

本题切入点

每 3 天可以施肥一次(+y),其余天浇水(+x);先算完整轮数再处理余数,注意最后不足一轮的情况。

把题目转化为数学表达式,用公式或性质直接求值。

思路框架(基础数学 通法 · 非本题专属)

  1. 先写出题目要求的数学表达式或所求量的定义。
  2. 利用代数变形、不等式、函数单调性等性质化简。
  3. 按题面给的精度要求输出(浮点题注意误差)。
  4. 数据范围大时,往往存在 O(1) 或 O(log n) 的数学解,不必模拟。

实现要点:浮点输出通常要求相对误差不超过 1e-7,注意用 double/long double 或高精度小数。

复杂度:时间 O(1) ~ O(log n) | 空间 O(1)

该范式的通法易错点

  • 整数除法丢精度;浮点比较直接用 == 。
  • 题目要求「相对误差」而非「绝对误差」,输出格式没对齐。

对照本题

  • 元素值域最大到 1e9 —— 求和 / 相乘时记得开 64 位整数。

样例解读

样例 1:输入 1 2 10 → 输出 6

第一天施肥浇水,成长值为 3。

第二天浇水,成长值为 3 + 1 = 4。

第三天浇水,成长值为 4 + 1 = 5。

第四天施肥浇水,成长值为 5 + 3 = 8。

第五天浇水,成长值为 8 + 1 = 9。

第六天浇水,成长值为 9 + 1 = 10。

果树成熟了,可以领到免费水果了!

解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。

本题来源:2023年美团秋招编程岗第三批笔试。

‹ 上一题 全部编程题 下一题 ›
编程算法题为只读内容:无需作答,直接看题与解析 · 本站不提供在线判题 · 解析由校招宝本地引擎整理,非官方题解