解题策略

思考流程

Q:每次都卡在什么地方需要点一下才能继续?

A:不知道如何去记录答案信息的变化(答案本身的变化 / 更新的条件)

例如猴子摘桃问题,不清楚答案本身如何变化,因为没有去维护(记录)当前桃子的数目,所以没有办法去推到下一天的桃子数目。

数位统计问题,不清楚什么时候能让答案加一

  • 先考虑拿到范围内的所有数字 for
  • 再考虑里面的每一个整数,也就是变量 i 当中有多少个 x
    • 需求:知道里面每一个数字是什么,解决方法:数位分解
    • 弊端:数位分解一定会让数字清零,为了避免死循环,使用一个临时变量来代替 i 进行分解

小鱼的锻炼问题,答案的更新条件没有很好的维护好,倒着来思考:

  • 为了知道当前是周几,我们可以使用一个变量 x,用来模拟星期的变化
    • x 在 [1,7] 之间反复出现,当 x > 7 的时候,我们应该让他回到周一
    • 通过 x 就可以判断当前是否要加上 250

代码功能分段

每一部分代码都有自己独立任务,比如说外层循环通常是为了拿到区间里的每一个整数(i)

内层循环通常是为了验证当前这个整数 i 所做的操作

  • 判断素数
  • 数位分解

都是服务于当前整数 i 的