小美在手机上种果树,只要成熟了就可以领到免费的水果了。 小美每天可以给果树浇水,果树的成长值加 x 。同时也可以给果树施肥,两次施肥至少需要间隔 2 天,果树的成长值加 y 。果树成长值达到 z 就成熟了。 小红想知道,最少需要多少天可以领到免费的水果。
一行三个整数 x,y,z ,分别表示浇水的成长值,施肥的成长值,果树成熟的成长值。 1 ≤ x, y, z ≤ 10^9
一行一个整数,表示最少需要多少天可以领到免费的水果。
1 2 10
6
考点:基础数学
限制 1 秒 / 256MB | 标准输入输出
推荐方向:基础数学
本题切入点
每 3 天可以施肥一次(+y),其余天浇水(+x);先算完整轮数再处理余数,注意最后不足一轮的情况。
把题目转化为数学表达式,用公式或性质直接求值。
思路框架(基础数学 通法 · 非本题专属)
实现要点:浮点输出通常要求相对误差不超过 1e-7,注意用 double/long double 或高精度小数。
复杂度:时间 O(1) ~ O(log n) | 空间 O(1)
该范式的通法易错点
对照本题
样例 1:输入 1 2 10 → 输出 6
第一天施肥浇水,成长值为 3。
第二天浇水,成长值为 3 + 1 = 4。
第三天浇水,成长值为 4 + 1 = 5。
第四天施肥浇水,成长值为 5 + 3 = 8。
第五天浇水,成长值为 8 + 1 = 9。
第六天浇水,成长值为 9 + 1 = 10。
果树成熟了,可以领到免费水果了!
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2023年美团秋招编程岗第三批笔试。