在Python中查找可以覆盖的方块数的程序
假设路径中有n个方块,工人正在放置彩色瓷砖在这些方块上。工人将方块放在这样一个方式,即如果路径中的方块编号可以被4或/和2整除,但不能被42整除,他就在该处放置一个彩色瓷砖。如果他从k个彩色瓷砖开始,我们必须找出他能覆盖的方块数。
因此,如果输入为k = 16,则输出将为32。
为了解决这个问题,我们将按照以下步骤进行 –
- MOD = 10^9 + 7
- 商 :=(k / 20)的底部值
- 余数 := k mod 20
- 如果余数与0相同,则
- 返回((42 * 商 – 2) mod MOD)
- 否则,
- 返回((42 * 商 + 2 * 余数) mod MOD)
示例
让我们看以下实现以更好地理解 –
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