📜  在 N 中查找任意数 P 的幂!(1)

📅  最后修改于: 2023-12-03 15:23:13.777000             🧑  作者: Mango

在 N 中查找任意数 P 的幂!

本程序用于在N中查找任意数P的幂。N和P可以由用户自己输入,程序将输出P的幂在N中出现的次数。

函数接口:

def find_power(n: int, p: int) -> int:
    '''
    在N中查找任意数P的幂

    :param n: 待查找的数,范围在 [0, 10^9]
    :param p: 指数,范围在 [0, 10^9]
    :return: P的幂在N中出现的次数
    '''

代码实现
def find_power(n: int, p: int) -> int:
    count = 0

    while n > 0:
        quotient, remainder = divmod(n, p)
        if remainder == 0:
            count += 1
            n = quotient
        else:
            break

    return count
解析

首先,我们定义了一个 count 变量来计数P的幂在N中出现的次数。然后,我们使用一个循环来重复执行以下步骤:

  1. 将N除以P,得到一个商(quotient)和余数(remainder)。

  2. 如果余数为零,则增加 count 的值,并将 n 更新为商,以便重复该操作。

  3. 如果余数不为零,则跳出循环。

最后,我们返回 count 的值。

示例
# 在100中查找2的幂
find_power(100, 2)
# 输出 2

# 在15中查找3的幂
find_power(15, 3)
# 输出 0

# 在729中查找3的幂
find_power(729, 3)
# 输出 6

以上是本程序的使用示例,可以看到对于不同的N和P,程序的输出正确,符合我们的预期。