python亲密数对函数,Python求亲密数
请问求3000以内的亲密数对用Python做
# -*- coding: utf-8 -*-
创新互联公司致力于成都网站设计、网站制作,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联公司,就选择了安全、稳定、美观的网站建设服务!
#py3
def check(n):
'''
计算各因子之和模块
'''
s=0
for i in range(1,int(n/2)+1):
if n%i==0:
s+=i
return s
if __name__ =='__main__':
for i in range(1,3000):
res=check(i)#对1至3000所有数依次求因子和
if i!=res and check(res)==i :#因子和不等于本身,且是亲密数,输出
print(i,res)
计算并输出500以内的所有“亲密数”对,并输出所有“完数”之和。 #include"stdafx.h" #include
语法上没错,至于你的算法对不对我没仔细看。
你的 if(m==facsum(n))(m=n))
缺一个括号,而且你的那个if后面的括号用的是中文的括号 ,被调函数的定义还缺一个{
--------------------------------------------------
#includeiostream.h
void main()
{
int facsum(int);//函数原型
int m,n,s=0;
cout"亲密数对:\n";
for(m=2;m=500;m++)
{
n=facsum(m);//函数调用
if((m==facsum(n))(m=n))
cout"["m","n"]"endl;//按要求输出亲密数对
if(n==m)s=s+m;
}
cout"完数之和:"s"\n";
}
int facsum(int m1)//函数定义facsum,求m的所有因子之和
{
int f=1,k;
for(k=2;k=m1/2;k++)
if(m1%k==0)
f=f+k;
return f;
}
一道python的控制结构和函数编程题?
不考虑效率的话,因数和就直接用所有小于x的正整数试商即可,因此,可以写成:
分享标题:python亲密数对函数,Python求亲密数
网站URL:http://azwzsj.com/article/dssdsps.html