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