python函数求完全数 python完全数算法

如何在python用函数求出2至100之间的完全数?a=range(1,101)
b=range(1,101)
result=[]
for i in a:
tmp=[]
for k in b:
if ki:
if not i%k:
tmp.append(k)
else:
continue
else:
break
count=0
for m in tmp:
count=count m
if count==i:
result.append(i)
else:
continue
print(result)
完全数——Python完全数
如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数 。
例如:第一个完全数是 6 , 它有约数 1、2、3、6,除去它本身 6 外,其余 3 个数相加,1 2 3=6 。
第二个完全数是 28,它有约数 1、2、4、7、14、28 , 除去它本身 28 外,其余 5 个数相加,1 2 4 7 14=28 。
python编写函数,实现判断正整数n是否是完数 。若是,函数返回True,否则返回Flase#include stdio.hint fun(int n) /*函数用来判断一个数是否是完全数.是就返回1. 不是返回0*/
{
int i,sum = 0;
for(i=1;in;i)
{
if(n % i == 0) //如果i是n的因子. 就将i累加到sum中.
sum = sumi;
}
if(sum == n) //判断n和sum是否相等.如果相等就说明这个数是完全数.返回1.
return 1;
return 0; //否则返回0;
}int main()
【python函数求完全数 python完全数算法】{
int i,t;
/*输入一个整数,判断这个数是否是完全数*/
scanf("%d", t);
if( fun( t ) )
printf( "Yes\n" );
else
printf( "No\n" );/*输出1000以内所有完全数*/
for(i = 1; i = 1000; i)
{
if( fun( i ) )
printf("%d\t",i);
}
printf("\n");
return 0;
}
用Python编写程序,从键盘输入一个整数并判断该数的类别:其因数之和等于数字本身的数称为完全数?import sys
theNum = input('请输入一个数:')
try:
theNum = int(theNum)
except ValueError:
print("请输入一个整数!")
sys.exit()
# 因子
divisor = 1
# 因子的和
divisors = 0
# 求因子的和
while divisortheNum:
if theNum % divisor == 0:
divisors= divisor
divisor= 1
if divisors == theNum:
print("{} 是完全数!\n".format(theNum))
else:
if divisorstheNum:
print("{0} 是丰沛数!\n".format(theNum))
else:
print("{0} 是不足数!\n".format(theNum))
求完全数的python语句# !/usr/bin/python27
# coding: utf8
'''
计算完美数(完全数)
'''
for n in range(1,1000):
nlist = [i for i in range(1,n) if n%i == 0]
if sum(nlist) == n:
print ''.join([str(n),'=',' '.join([str(n) for n in nlist])])
运行结果:
6=1 2 3
28=1 2 4 7 14
496=1 2 4 8 16 31 62 124 248
或者这样:
print [n for n in range(1,1000) if sum([i for i in range(1,n) if n%i == 0]) == n]
结果:
[6, 28, 496]
用python算完全数之和的方法?def main(n,high):
x=0
perfectnum=[]
while n=high:
total=0
for t in range(n//2,0,-1):
if n%t==0:
total =t
if totaln or (totaln and t==1):
break
else:
x =n
perfectnum.append("%d"%n)
n =1
return (perfectnum,x)
if __name__=='__main__':
perfectnum,total=main(2,20000)
print("%s = %d"%(''.join(perfectnum),total))
关于python函数求完全数和python完全数算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读