从键盘输入一个正整数,输出它的正因子之和(此处的因子不包括自身)。比如,输入8,它的除本身之外的正因子是1、2、4,那么会输出7
时间: 2024-11-17 20:30:31 浏览: 6
这段代码是用于计算一个正整数的所有非自乘因子(除了它自身)之和。用户首先从键盘上输入一个正整数 `n`,然后程序会遍历从 `1` 到 `sqrt(n)` 的所有整数,判断它们是否能整除 `n`。如果能整除,就将其加入到因子之和中。最后返回的结果就是所有因子之和,不包含输入的数 `n` 自身。
例如,对于输入的数8,因子为1, 2, 4,它们相加得到7。下面是伪代码形式:
```python
def sum_factors(n):
# 初始化因子和为0
factor_sum = 0
# 遍历从1到根号n(包括根号n)
for i in range(1, int(n ** 0.5) + 1):
# 如果i是n的因子
if n % i == 0:
# 记录因子,并排除重复(如果i是因子,那么n/i也是因子)
if i != n / i:
factor_sum += i
else:
factor_sum += n / i
return factor_sum
# 用户输入
input_number = int(input("请输入一个正整数:"))
result = sum_factors(input_number)
print(f"输入的正因子之和为:{result}")
```
阅读全文