首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >求数n的所有因子之和,不包括1和n。

求数n的所有因子之和,不包括1和n。
EN

Stack Overflow用户
提问于 2022-10-04 22:07:55
回答 1查看 85关注 0票数 0

到目前为止,我有一段代码:

代码语言:javascript
运行
复制
def OfN(n):
  print("Factors of ",n,"= ", end="")
  factor = []
  for j in range(2, n + 1):
    if n % j == 0:
      print(j, end=" ")
      factor.append(j)
  sumN = sum(factor)
  print("\nSum of all factors = " + str(sumN))

  if sumN < n:
    return True
  else:
    return False

我的问题是,我不知道如何将数字本身排除在总数/打印之外。我从2开始就把1排除在外。我怎么排除这个数字出现呢?

例如,如果我们使用5,就会发生这样的情况:

代码语言:javascript
运行
复制
>> OfN(5)
>>
>> Factors of 5 = 
>> Sum of all factors = 0
>> True

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-04 22:11:41

只需删除range中的+1即可。这将从2迭代到n- 1,这将从因子中排除n

代码语言:javascript
运行
复制
def OfN(n):
  print("Factors of ",n,"= ", end="")
  factor = []
  for j in range(2, n):
    if n % j == 0:
      print(j, end=" ")
      factor.append(j)
  sumN = sum(factor)
  print("\nSum of all factors = " + str(sumN))

  if sumN < n:
    return True
  else:
    return False

OfN(5)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73954066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档