网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

c语言函数求亲密数 编写函数求c语言亲密数对

c语言 求出亲密数对

大概看了一下,你判断是否为因子的地方有问题,应该用取余运算符号:%

成都创新互联公司专业为企业提供海珠网站建设、海珠做网站、海珠网站设计、海珠网站制作等企业网站建设、网页设计与制作、海珠企业网站模板建站服务,十余年海珠做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

用除号是不行的,呵呵。

另外,你把求一个数的因子和,写成一个函数,这样的话,程序看起来更明了,你也不容易混乱。

求因子和的函数如下:

int sumf(int num)

{

int i,sum = 0;

for(i = 1;i = num; i ++)

{

if(num % i == 0)

{

sum += i; 

}   

}

return sum;

}

不过你所说的因子是否包含了1和数本身?如果包含的话,我运行了一下,2到1000好像没发现有满足条件的。

如果不包含1和本身,倒是有几个,全程序是这样:

#include stdio.h

#include stdlib.h

int main(void)

{   int i; 

for(i = 2; i  1000; i++)

{      

//printf("%d--%d--%d\n",i,sumf(i),sumf(sumf(i)));

if(i == sumf(sumf(i)))

{

printf("%d    %d\n",i,sumf(i));

}    

system("pause");

return 0;

}

int sumf(int num)

{

int i,sum = 0;

for(i = 2;i  num; i ++)

{

if(num % i == 0)

{

sum += i; 

}   

}

return sum;

}

C语言求亲密数 函数方法

#includestdio.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=1;a500;a++) /*穷举500以内的全部整数*/

{

n=facsum(n,a,b);

if(n==aa=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=1;i=*a/2;i++) /*计算数a的各因子,各因子之和存放于b*/

if(!(*a%i))

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

for(n=0,i=1;i=*b/2;i++)

if(!(*b%i))

n+=i;

return n;

}

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

C语言 求亲密数 问题。大神请进!

while(ia)

{

i=i+1;

这样当i=a-1时,会进入循环,然后i加1,变成了a,并参与了运算,因此会得出错误结果。

将以上代码改为:(注意,第二个也要改)

while(++ia)

{

//i=i+1;

应该就正确了。


本文标题:c语言函数求亲密数 编写函数求c语言亲密数对
标题网址:http://bjjierui.cn/article/hjcgpi.html

其他资讯