python求完数

这篇具有很好参考价值的文章主要介绍了python求完数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

“”"
题目:

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出n以内的所有完数。

分析:
将每一对因子加进集合,在这个过程中已经自动去重。最后的结果要求不计算其本身
“”"文章来源地址https://www.toymoban.com/news/detail-506160.html

① 循环嵌套

count = 0
for i in range(1,1000):   
    for j in range(1,i):
        if i%j==0:
            count +=j
    if(count == i):
         print(i,"是完数")

    count=0

② 利用列表

factor=[] 
for i in range(1,1000):
    for j in range(1,i):
        if i % j ==0:
            factor.append(j)
    if sum(factor)==i:
        print(i,"是完数")

    factor=[]

③ 函数

def n(n):
    count = 0
    for i in range(1,n):
        if n%i==0:
            count +=i
    if count==n:
        return True
    else:
        return False

for i in range(1,1001):# 1-1000判断
    if n(i):
        print(i)

④ 输入一个数判断是否为完数

1. for循环实现

a = int(input('::'))

c = 0
for i in range(1,a):
    if a%i == 0:
         c+=i
if c==a:
    print('这个数是完数')
else:
    print('这个数不是完数')

2.while循环实现

n = int(input('::'))
c1 = 0
i = 1 
while i<=n-1: # 注意:要小于n
    if n%i == 0:
         c1+=i
    i+=1
if c1==n:
    print('这个数是完数')
else:
    print('这个数不是完数')

⑤ 方式五

for i in range(1,1000):
    s = i
    for j in range(1,i):
        if i % j==0:
            s -= j
    if s == 0:
        print(i,'完数')

到了这里,关于python求完数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包