在Python中查找可以覆盖的方块数的程序

在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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程