种子题解

· · 题解

Source & Knowledge

2024 年 9 月语言月赛,由洛谷网校入门计划/基础计划提供。

题目大意

有一粒种子,它每天的成长值都会增加一定的数量,求这粒种子在第几天结束后,成长值不低于 k

题目分析

本题考察简单循环。

枚举每一天这粒种子的成长值,假设当前为第 t 天,首先这粒种子的成长值会增长 \lfloor\frac{t}{w}\rfloor,其次若 t\ge x,则成长值还会增加 y。若此时的成长值不低于 k,则代表种子在这一天破土而出。

核心代码

for (int t = 1; ; t++) {
  sum = sum + t / w;
  if (t >= x) 
    sum += y;
  if (sum >=k) {
    cout << t;
    return 0;
  }
}