唯一分解定理——python实现约数求和

本文介绍了如何运用质因数分解定理求解正整数的所有约数和。通过数学原理解析和Python代码实现,详细阐述了从质因数分解到计算约数和的过程,包括等比数列求和公式的应用。
摘要由CSDN通过智能技术生成

约数求和

题目:给定任意正整数n,求n的所有约数的和

前提引入

正整数1024的所有约数的和为多少?
1024 = 2 10 = 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 \begin{align*} 1024 &= 2^{10}\\ &= 2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \end{align*} 1024=210=2222222222
1024的约数和为:
2 0 + 2 1 + 2 2 + 2 3 + 2 4 + 2 5 + 2 6 + 2 7 + 2 8 + 2 9 + 2 10 2^0 + 2^1 + 2^2 +2^3+ 2^4+2^5+2^6+2^7+2^8+2^9+2^{10} 20+21+22+23+24+25+26+27+28+29+210
那么我们可以使用等比数列求和公式进行求解:
1 − x n + 1 1 − x = 1 − 2 11 1 − 2 \frac{1 - x^{n + 1}}{1-x}=\frac{1 - 2^{11}}{1-2} 1x1xn+1=121211
因此,1024的所有约数和为:2047

但是,若给定任意正整数n,求n的所有约数和,如我们所知并不是所有的n都可以写出形如1024的形式,那么如何处理呢?

质因数分解定理

在了解质因数分解定理前,我们先了解一下质数和合数:

质数与合数

在这里插入图片描述

Q:为什么1不是素数?
A:因为质因数分解有唯一分解定理——将某个正整数n分解质因数时,其形式是唯一的
比如:
24 = 2 ⋅ 2 ⋅ 2 ⋅ 3 24 = 2 \cdot 2 \cdot 2 \cdot 3 24=2223
将上式2和3调换位置时,只是质因数的顺序不同,但仍是同一种形式
2 ⋅ 2 ⋅ 2 ⋅ 3 = 3 ⋅ 2 ⋅ 2 ⋅ 2 2\cdot2\cdot2\cdot3 = 3\cdot2\cdot2\cdot2 2223=3222
但是,若1是素数的话,唯一分解定理就不成立了
2 ⋅ 2 ⋅ 2 ⋅ 3 1 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 3 1 ⋅ 1 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 3 ⋅ ⋅ ⋅ \begin{aligned} 2 \cdot 2 \cdot 2 \cdot 3 \\ 1 \cdot 2 \cdot 2 \cdot 2 \cdot 3 \\ 1 \cdot 1 \cdot 2 \cdot 2 \cdot 2 \cdot 3 \\ ·\\ ·\\ · \end{aligned} 222312223

  • 48
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值