C语言编程 高手进 关于亲密数

C语言编程 高手进 关于亲密数,第1张

#include

<stdio.h>

#include

<散宏conio.h>

int

facsum(int

n)

{

int

sum=0

for

(int

i=1i<ni++)

{

if(n%i==0)

sum+=i

}

return

sum

}

main()

{

for

(int

i=1i<=500i++)

{

int

M1=facsum(i)

if

(facsum(M1)==i&&i<=M1)

{

printf("%d和%d互为亲密数\n",i,M1)

}

}

}

可以吗?输出要有文字说明,你冲念册可以自己改printf("%d和%d互为亲密数\n"高大,i,M1)这句话就行了。

#include<stdio.h>

int main()

{

int a,b,n

int facsum(int n,int *a,int *b)

printf("There are following friendly--numbers pair smaller than 500:\n")

for(a=1a<500a++) /*穷举500以内的全部整数*/

{

n=facsum(n,&a,&b)

if(n==a&&a<=b)

printf("%4dand%d\n",a,b)/*若n=a,则a和b是一对亲密数,输出*/

}

}

int facsum(int n,int *a,int *b)

{

int i

for(*b=0,i=1i<=*a/2i++) /*计算数a的各因子,各因子锋滚锋之和存放于b*/

if(!(*a%i))

*b+=i/*计算b的各因子,各因子之和存于n*/

for(n=0,i=1i<备升=*b/2i++)

if(!(*b%i))

n+=i

return n

}

呵呵,楼主,你还是多看看函数的用法吧,先理清逻辑银晌。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12454281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存