酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

Python解决1到n之间所有数字因数总和问题

### 🍃 解题思路 本题需要计算1到`n`之间所有数字的因数总和。我们的思路是遍历1到`n`的每一个数字,找出每个数字的所有因数并求和,最后将所有数字的因数和累加起来。 ### 📦 代码实现 ```python n = int(input()) total = 0 # 遍历1到n的每一个数字 for i in range(1, n + 1): factor_sum = 0 # 找出当前数字i的所有因数并求和 for j in range(1, i + 1): if i % j == 0: factor_sum += j total += factor_sum print(total) ``` ### 📋 代码解释 1. **读入输入**:使用`input()`函数读取用户输入的整数`n`,并使用`int()`函数将其转换为整数类型。 2. **初始化总和变量**:初始化变量`total`为0,用于存储1到`n`之间所有数字的因数总和。 3. **遍历1到n的每一个数字**:使用`for`循环遍历从1到`n`的每一个数字`i`。 4. **计算当前数字的因数总和**:对于每个数字`i`,使用另一个`for`循环遍历从1到`i`的每一个数字`j`,如果`i`能被`j`整除(即`i % j == 0`),则`j`是`i`的因数,将其累加到`factor_sum`中。 5. **累加因数总和**:将每个数字的因数总和`factor_sum`累加到`total`中。 6. **输出结果**:使用`print()`函数输出最终的因数总和`total`。 ### 💡 开发建议 - **代码复用**:可以将计算一个数字的因数总和的逻辑封装成一个函数,这样可以提高代码的复用性。 - **性能优化**:当`n`较大时,当前的算法时间复杂度为$O(n^2)$,可以考虑优化算法,例如使用数学方法来减少不必要的计算。 ######[AI写代码神器 | 503点数解答 | 2026-08-01 20:48:57]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]