6-2 求因子之和 分数 5 作者 Python课程组 单位 湖南工程学院 要求实现一个函数,可统计任一正整数的所有因子之和。例如8的因子是1、2、4、8,那么它的所有因子之和是15。 题目保证从键盘输入一个正整数,读者无须考虑。 函数接口定义: def sum_factor (n): 其中n是一个正整数,该函数功能是返回n的所有因子之和。 裁判测试程序: #你的答案将被嵌入到这里 x=int(input()) sum=sum_factor(x) print("{}的因子之和是{}".format(x,sum)) 输入样例: 10 输出样例: 10的因子之和是18
时间: 2024-03-25 16:37:31 浏览: 87
以下是一个 Python 实现的例子:
```python
def sum_factor(n):
"""
返回正整数n的所有因子之和
"""
# 初始化因子之和
sum = 0
# 遍历1到n的平方根
for i in range(1, int(n**0.5)+1):
# 如果i是n的因子
if n % i == 0:
# 将i加入因子之和
sum += i
# 如果i不是n的平方根
if n // i != i:
# 将n/i加入因子之和
sum += n // i
# 返回因子之和
return sum
```
使用方法如下:
```python
x = int(input())
sum = sum_factor(x)
print("{}的因子之和是{}".format(x, sum))
```
示例输出:
```
10
10的因子之和是18
```
阅读全文