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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP