Python 程式:求 n 個 1 除以 m 的餘數
假設我們有兩個數字 n 和 m。我們需要找到 n 個 1 除以 m 的餘數。
所以,如果輸入像 n = 4 m = 27,那麼輸出將是 4,因為 1111 mod 27 = 4。
為了解決這個問題,我們將遵循以下步驟:
定義一個函式 util()。它將接收 x、n、m 作為引數。
- y := 1
- 當 n > 0 時,執行以下操作:
- 如果 n 是奇數,則
- y := (y * x) mod m
- x := (x * x) mod m
- n := n/2 的向下取整
- 如果 n 是奇數,則
- 返回 y
在主方法中,返回 (util(10, n, 9 * m) / 9) 的向下取整。
示例
讓我們看看以下實現以更好地理解:
def util(x, n, m) : y = 1 while n > 0 : if n & 1 : y = (y * x) % m x = (x * x) % m n >>= 1 return y def solve(n, m): return util(10, n, 9 * m) // 9 n = 4 m = 27 print(solve(n, m))
輸入
4, 27
輸出
4
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP