【因数之和】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)
相关推荐
leoufung几秒前
图解除法查询问题:用 C 语言和 DFS 实现带权有向图的路径乘积
c语言·开发语言·深度优先
雨落在了我的手上1 分钟前
知识扩展:进制的详细介绍
c语言·学习
poggioxay3 分钟前
JAVA零基础入门知识3(持续更新中)
java·开发语言·python
以梦为马mmky5 分钟前
华东交通大学上岸经验分享
经验分享·通信考研·信号与系统·华东交通大学
鹤归时起雾.8 分钟前
Vue3响应式编程核心指南
开发语言·vue3
im_AMBER9 分钟前
Leetcode 67 长度为 K 子数组中的最大和 | 可获得的最大点数
数据结构·笔记·学习·算法·leetcode
serve the people14 分钟前
TensorFlow 基础训练循环(简化版 + 补全代码)
人工智能·python·tensorflow
木里先森15 分钟前
解决报错:/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·python
爱打代码的小林17 分钟前
numpy库数组笔记
笔记·python·numpy
Slaughter信仰19 分钟前
图解大模型_生成式AI原理与实战学习笔记(第四章)
人工智能·笔记·学习