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
廣告