【因数之和】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)
相关推荐
u0109147606 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_340998826 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485456 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
不吃香菜学java6 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
qq_342295826 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
TechWayfarer6 小时前
知乎/微博的IP属地显示为什么偶尔错误?用IP归属地查询平台自检工具3步验证
网络·python·网络协议·tcp/ip·网络安全
xiaotao1316 小时前
02-机器学习基础: 监督学习——线性回归
学习·机器学习·线性回归
Greyson16 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
justjinji6 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
小江的记录本7 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全