如下所示:
# -*- coding: utf-8 -*-
# 要求:用python方法找出1000以内的所有完数,并输出。
def f(n):
list = []
for i in range(2, n + 1):
for j in range(2, i / 2):
if i % j == 0 and j <= (i / j):
list.append(j)
list.append(i / j)
if sum(list) + 1 == i:
print i
list = []
if __name__==\"__main__\":
n=int(raw_input(\"请输入最大范围:\"))
f(n)
运行结果:
请输入最大范围:1000 6 28 496
总结:
sum可以直接对列表进行求和!
继续阅读与本文标签相同的文章
-
再有人问你ThreadLocal,就把这篇文章扔给他
2026-05-19栏目: 教程
-
RocketMQ消费失败消息深入分析(consumer,broker的具体处理逻辑)
2026-05-19栏目: 教程
-
RocketMQ消费失败重试机制分析
2026-05-19栏目: 教程
-
基于SLF4J MDC机制实现日志的链路追踪
2026-05-19栏目: 教程
-
java泛型中T、E、K、V、?等含义
2026-05-19栏目: 教程
