用 Python 编写程序,求出将 n 个 1 除以 m 后的余数

pythonserver side programmingprogramming更新于 2026/2/2 0:44:17

假设我们有两个数字 n 和 m。我们必须求出将 n 个 1 除以 m 后的余数。

因此,如果输入为 n = 4 m = 27,则输出将为 4,因为 1111 mod 27 = 4。

为了解决这个问题,我们将遵循以下步骤 −

定义一个函数 util()。这将需要 x、n、m

  • y := 1
  • while n > 0,执行
    • 如果 n 为奇数,则
      • y := (y * x) mod m
    • x := (x * x) mod m
      • n := floor of n/2
  • 返回 y

从 main 方法返回 (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

相关文章


有用资源