假设一条路径中有 n 个方块,一个工人正在将彩色瓷砖放在这些方块上。工人正在以某种方式放置块,这样如果路径中的块号可以被 4 或/和 2 但不能被 42 整除,他就会在那里放置一个彩色瓷砖。如果他从 k 块彩色瓷砖开始,我们必须找出他可以覆盖的块数。
因此,如果输入类似于 k = 16,那么输出将是 32。
让我们看看以下实现以获得更好的理解 -
def solve(k): MOD = 10**9 + 7 quotient = k // 20 remainder = k % 20 if remainder == 0: return ((42 * quotient - 2) % MOD) else: return ((42 * quotient + 2 * remainder) % MOD) print(solve(16))
16输出结果
32