楼主: 1+2+3
1594 2

[作业] 用 python软件求完数和其因子 [推广有奖]

  • 0关注
  • 0粉丝

小学生

78%

还不是VIP/贵宾

-

威望
0
论坛币
13 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
86 点
帖子
5
精华
0
在线时间
7 小时
注册时间
2021-3-7
最后登录
2023-3-28

楼主
1+2+3 发表于 2021-10-13 23:16:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
题目详情:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。从键盘输入一个正整数(约定该数≤32767、此时因子数≤100),找出该数以内的所有完数及其因子
无标题.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 正整数

无标题.png (32.79 KB)

无标题.png

沙发
1+2+3 发表于 2022-2-26 15:42:09
n=eval(input())
for i in range(1,n+1):
    m=[]
    total=0
    for j in range(1,i):
        if i%j==0:
            total+=j
            m.append(j)
    if total==i:
        print("{} {}".format(i,m))

藤椅
正直者之死 发表于 2022-2-26 19:44:20
  1. # 题外运行部分,保留结果
  2. saveList = [[], ]

  3. for i in range(2, 32767 + 1):
  4.     sumTmp = 1
  5.     listTmp = [1, ]
  6.     for j in range(2, i):
  7.         if i % j == 0:
  8.             sumTmp += j
  9.             listTmp.append(j)
  10.     if sumTmp == i:
  11.         saveList.append(listTmp)
  12.     else:
  13.         saveList.append([])

  14. # 实际运行部分
  15. # assert 0 < a := int(input()) <= 32767 (>=3.8)

  16. a = int(input())

  17. assert 0 < a <= 32767

  18. for i in range(a):
  19.     if saveList[i]:
  20.         print(f'{i + 1} {saveList[i]}')
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-13 17:49