python如何實現(xiàn)完全數(shù)
python實現(xiàn)完全數(shù)
求出1000以內(nèi)的完全數(shù)。
所謂完全數(shù)是指,如果一個數(shù)恰好等于它的因子之和,則稱該數(shù)為“完全數(shù)”,又稱完美數(shù)或完備數(shù)。
例如:
第一個完全數(shù)是6,它有約數(shù) 1、 2、 3、 6,除去它本身6外,其余3 個數(shù)相加,1+2+3=6。 第二個完全數(shù)是28,它有約數(shù) 1、 2、 4、 7、 14、 28,除去它本身28外,其余5個數(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)
運行結果如下:

Python求找出1000以內(nèi)所有的“完數(shù)”
完全數(shù)(Perfect number),又稱完美數(shù)或完備數(shù),是一些特殊的自然數(shù)。它所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身。如果一個數(shù)恰好等于它的真因子之和,則稱該數(shù)為“完全數(shù)”。如6=1+2+3即為完數(shù)。
要求:提交清晰代碼及運行通過截屏。調試須至少輸入兩次自然數(shù)且運行得到正確結果。
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)

總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python 通過SSHTunnelForwarder隧道連接redis的方法
今天小編就為大家分享一篇python 通過SSHTunnelForwarder隧道連接redis的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
python使用ctypes模塊調用windowsapi獲取系統(tǒng)版本示例
這篇文章主要介紹了python使用ctypes模塊調用windowsapi獲取系統(tǒng)版本示例,需要的朋友可以參考下2014-04-04
Python?Pandas多種添加行列數(shù)據(jù)方法總結
在進行數(shù)據(jù)分析時經(jīng)常需要按照一定條件創(chuàng)建新的數(shù)據(jù)列,然后進行進一步分析,下面這篇文章主要給大家介紹了關于Python?Pandas多種添加行列數(shù)據(jù)方法的相關資料,需要的朋友可以參考下2022-07-07

