import sys

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),鐵門(mén)關(guān)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鐵門(mén)關(guān)等地區(qū)。鐵門(mén)關(guān)做網(wǎng)站價(jià)格咨詢:028-86922220
theNum = input('請(qǐng)輸入一個(gè)數(shù):')
try:
theNum = int(theNum)
except ValueError:
print("請(qǐng)輸入一個(gè)整數(shù)!")
sys.exit()
# 因子
divisor = 1
# 因子的和
divisors = 0
# 求因子的和
while divisor theNum:
if theNum % divisor == 0:
divisors += divisor
divisor += 1
if divisors == theNum:
print("{} 是完全數(shù)!\n".format(theNum))
else:
if divisors theNum:
print("{0} 是豐沛數(shù)!\n".format(theNum))
else:
print("{0} 是不足數(shù)!\n".format(theNum))
#include stdio.hint fun(int n) /*函數(shù)用來(lái)判斷一個(gè)數(shù)是否是完全數(shù).是就返回1. 不是返回0*/
{
int i,sum = 0;
for(i=1;in;i++)
{
if(n % i == 0) //如果i是n的因子. 就將i累加到sum中.
sum = sum + i;
}
if(sum == n) //判斷n和sum是否相等.如果相等就說(shuō)明這個(gè)數(shù)是完全數(shù).返回1.
return 1;
return 0; //否則返回0;
}int main()
{
int i,t;
/*輸入一個(gè)整數(shù),判斷這個(gè)數(shù)是否是完全數(shù)*/
scanf("%d", t);
if( fun( t ) )
printf( "Yes\n" );
else
printf( "No\n" );/*輸出1000以內(nèi)所有完全數(shù)*/
for(i = 1; i = 1000; i++)
{
if( fun( i ) )
printf("%d\t",i);
}
printf("\n");
return 0;
}
所謂完全數(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函數(shù)判斷完數(shù),python找出完數(shù)
文章地址:http://chinadenli.net/article18/dsihjgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、、面包屑導(dǎo)航、靜態(tài)網(wǎng)站、建站公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容