初学python100例-案例18 完数有那么难么 少儿编程案例讲解

举报
小兔子编程 发表于 2021/11/12 23:36:33 2021/11/12
【摘要】 题目:求完数 一个数如果恰好等于它的因子之和,这个数就称为"完数" 例如6=1+2+3.编程找出1000以内的所有完数 解法1 列表实现 程序分析 1、依次遍历1000以内的所有数字 2、对取出的数字进行求因子,最大范围取出数字的一半 3、将求得的因子加入到一个列表中 4、判断这个数是否等于列表中元素的和 5、如果是就...

题目:求完数

一个数如果恰好等于它的因子之和,这个数就称为"完数"

例如6=1+2+3.编程找出1000以内的所有完数

解法1 列表实现

程序分析

1、依次遍历1000以内的所有数字

2、对取出的数字进行求因子,最大范围取出数字的一半

3、将求得的因子加入到一个列表中

4、判断这个数是否等于列表中元素的和

5、如果是就输出这个数和相应的因子

源程序


  
  1. list2 = []
  2. for x in range(1, 1001):
  3. list1 = []
  4. for i in range(1, int(x / 2) + 1):
  5. if x % i == 0:
  6. list1.append(i)
  7. if x == sum(list1):
  8. print(x)
  9. print(list1)
  10. list2.append(x)
  11. print("共计有%d个完数"%(len(list2)))

运行结果

 

解法2 stdout函数

源程序


  
  1. from sys import stdout
  2. count = 0
  3. for nu

文章来源: scratch.blog.csdn.net,作者:CSDN专家-小兔子编程,版权归原作者所有,如需转载,请联系作者。

原文链接:scratch.blog.csdn.net/article/details/116455980

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。