【因数之和】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)
相关推荐
元契1 分钟前
英语基础语法学习2
学习
MegaDataFlowers2 分钟前
依赖注入(DI)
java·开发语言
csbysj20204 分钟前
Foundation 输入框尺寸指南
开发语言
wertyuytrewm5 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
码云数智-园园5 分钟前
Tailwind CSS vs. 传统CSS/Sass:2026年前端样式开发的深度博弈
开发语言
lly2024068 分钟前
《jEasyUI 创建 XP 风格左侧面板》
开发语言
晓纪同学8 分钟前
EffctiveC++_01第一章
java·开发语言·c++
我真会写代码10 分钟前
Java事务核心原理与实战避坑指南
java·开发语言·数据库
2401_8463416514 分钟前
C++动态链接库开发
开发语言·c++·算法
柠檬Leade14 分钟前
IDEA中 java: 程序包lombok不存在 问题解决
java·开发语言·maven·intellij-idea·依赖不存在