【因数之和】python求解方法

输入两个整数A和B,求A的B次方的因子和,结果对1000000007取模。

python 复制代码
def mod_exp(base, exp, mod):
    result = 1
    while exp > 0:
        if exp % 2 == 1:
            result = (result * base) % mod
        base = (base * base) % mod
        exp //= 2
    return result

def sum_of_factors(n):
    total = 0
    limit = int(n**0.5)
    for i in range(1, limit + 1):
        if n % i == 0:
            total += i
            if i != n // i:  # 如果是不同的因子,添加两个因子
                total += n // i
    return total

def main(A, B):
    MOD = 1000000007
    power_value = mod_exp(A, B, MOD)
    factors_sum = sum_of_factors(power_value) % MOD
    return factors_sum

# 示例
A = 2
B = 3
result = main(A, B)
print(result)
相关推荐
databook6 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar8 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780518 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_8 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机14 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机15 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机15 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机15 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i16 小时前
drf初步梳理
python·django
每日AI新事件16 小时前
python的异步函数
python