在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 := n/2 的底

    • y := (y * x) mod m

    • 如果 n 是奇数,那么

    • x := (x * x) 模 m

    • 返回 y

    从(util(10, n, 9 * m) / 9)的main方法return floor

    示例

    让我们看看以下实现以获得更好的理解 -

    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

    以上是 在Python中将n个1除以m后求余数的程序 的全部内容, 来源链接: utcz.com/z/335405.html

    回到顶部