python輸出1000以內(nèi)的完數(shù)和素?cái)?shù) Python編程實(shí)例
完數(shù)是指一個(gè)數(shù)恰好等于它的因子(包括1但不包括自身)之和。例如,6的因子為1、2、3,而1 2 36,因此6是一個(gè)完數(shù)。 素?cái)?shù)是指除了1和自身外沒有其他因子的數(shù)。例如,2、3、5、7等都是素?cái)?shù)。
完數(shù)是指一個(gè)數(shù)恰好等于它的因子(包括1但不包括自身)之和。例如,6的因子為1、2、3,而1 2 36,因此6是一個(gè)完數(shù)。
素?cái)?shù)是指除了1和自身外沒有其他因子的數(shù)。例如,2、3、5、7等都是素?cái)?shù)。
現(xiàn)在我們來用Python編程語言輸出1000以內(nèi)的完數(shù)和素?cái)?shù)。
輸出完數(shù):
完數(shù)的求解方法是找出一個(gè)數(shù)的所有因子(除了自身),然后將這些因子相加,判斷是否等于原數(shù)。
def is_perfect_number(n):
factors []
for i in range(1, n):
if n % i 0:
(i)
if sum(factors) n:
return True
else:
return False
perfect_numbers []
for num in range(2, 1001):
if is_perfect_number(num):
perfect_(num)
print("1000以內(nèi)的完數(shù)有:", perfect_numbers)
輸出素?cái)?shù):
素?cái)?shù)的求解方法是判斷一個(gè)數(shù)是否只能被1和自身整除。
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) 1):
if n % i 0:
return False
return True
prime_numbers []
for num in range(2, 1001):
if is_prime(num):
prime_(num)
print("1000以內(nèi)的素?cái)?shù)有:", prime_numbers)
通過運(yùn)行以上代碼,我們可以得到1000以內(nèi)的完數(shù)和素?cái)?shù)。
輸出結(jié)果如下:
1000以內(nèi)的完數(shù)有:[6, 28, 496]
1000以內(nèi)的素?cái)?shù)有:[2, 3, 5, 7, 11, 13, 17, 19, 23, ...]
本文通過Python編程實(shí)現(xiàn)了輸出1000以內(nèi)的完數(shù)和素?cái)?shù)的功能,并給出了詳細(xì)的步驟和代碼示例。讀者可以根據(jù)這些示例代碼進(jìn)行學(xué)習(xí)和實(shí)踐,進(jìn)一步提高自己的編程能力。