python如何實(shí)現(xiàn)完全數(shù)
python實(shí)現(xiàn)完全數(shù)
求出1000以內(nèi)的完全數(shù)。
所謂完全數(shù)是指,如果一個(gè)數(shù)恰好等于它的因子之和,則稱該數(shù)為“完全數(shù)”,又稱完美數(shù)或完備數(shù)。
例如:
第一個(gè)完全數(shù)是6,它有約數(shù) 1、 2、 3、 6,除去它本身6外,其余3 個(gè)數(shù)相加,1+2+3=6。 第二個(gè)完全數(shù)是28,它有約數(shù) 1、 2、 4、 7、 14、 28,除去它本身28外,其余5個(gè)數(shù)相加,1+2+4+7+14=28
#!/usr/bin/env python3 # -*- coding: utf-8 -*- a = [] for i in range(1, 1000): s = 0 for j in range(1, i): if i % j == 0 and j < i: s += j if s == i: print(i) a.append(i) print("1000以內(nèi)的完全數(shù)為: %s" % a)
運(yùn)行結(jié)果如下:
Python求找出1000以內(nèi)所有的“完數(shù)”
完全數(shù)(Perfect number),又稱完美數(shù)或完備數(shù),是一些特殊的自然數(shù)。它所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身。如果一個(gè)數(shù)恰好等于它的真因子之和,則稱該數(shù)為“完全數(shù)”。如6=1+2+3即為完數(shù)。
要求:提交清晰代碼及運(yùn)行通過截屏。調(diào)試須至少輸入兩次自然數(shù)且運(yùn)行得到正確結(jié)果。
for i in range(1, 1001): a = 0 for j in range(1, i): if i % j == 0: a += j if a == i: print(i)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 通過SSHTunnelForwarder隧道連接redis的方法
今天小編就為大家分享一篇python 通過SSHTunnelForwarder隧道連接redis的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02python使用ctypes模塊調(diào)用windowsapi獲取系統(tǒng)版本示例
這篇文章主要介紹了python使用ctypes模塊調(diào)用windowsapi獲取系統(tǒng)版本示例,需要的朋友可以參考下2014-04-04python讀取mat文件生成h5文件的實(shí)現(xiàn)
這篇文章主要介紹了python讀取mat文件生成h5文件的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Python對(duì)象中__del__方法起作用的條件詳解
今天小編就為大家分享一篇Python對(duì)象中__del__方法起作用的條件詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11Python?Pandas多種添加行列數(shù)據(jù)方法總結(jié)
在進(jìn)行數(shù)據(jù)分析時(shí)經(jīng)常需要按照一定條件創(chuàng)建新的數(shù)據(jù)列,然后進(jìn)行進(jìn)一步分析,下面這篇文章主要給大家介紹了關(guān)于Python?Pandas多種添加行列數(shù)據(jù)方法的相關(guān)資料,需要的朋友可以參考下2022-07-07