【因数之和】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)
相关推荐
n***27192 分钟前
JAVA (Springboot) i18n国际化语言配置
java·spring boot·python
心无旁骛~4 分钟前
python多进程multiprocessing——spawn启动方式解析
开发语言·python
家家小迷弟13 分钟前
docker容器内部安装python和numpy的方法
python·docker·numpy
小石头 1008613 分钟前
【Java】String类(超级详细!!!)
java·开发语言·算法
conkl16 分钟前
Python中的鸭子类型:理解动态类型的力量
开发语言·python·动态·鸭子类型·动态类型规划
小小8程序员17 分钟前
swift的inout的用法
开发语言·ios·swift
yuhaiqun198920 分钟前
10分钟快速get:零基础AI人工智能学习路线
人工智能·学习
故事挺秃然20 分钟前
Python异步(Asyncio)(一)
服务器·网络·python
大飞记Python26 分钟前
【2025全攻略】PyCharm专业版 / 社区版如何打开.db 数据库文件
数据库·python·sql·pycharm
祈澈菇凉26 分钟前
Next.js 零基础开发博客后台管理系统教程(一):环境搭建与项目初始化
开发语言·javascript·ecmascript