关于函数
若有两个整数a和b,把a的全部约数(不包括本身)相加,其结果等于b,而把b的全部约数(不包括本身)相加,其结果恰好等于a,那么a和b就称为亲和数对。例如:220和 284就是亲和数对。220的所有约数相加:1+2+4+5+10+11+20+22+44+55+110 = 284。 284的所有约数相加:
1+2+4+71+142 = 220。
此外,完全数是特殊的亲和数,因为完全数自己和自己亲和。例:6 = 1+2+3 编程实现:求10000以内的亲和数对(含完全数),用等式显示约数和。
为什么程序动不了。。。。。。。。。。。。。。。。
#include<stdio.h>
void Circle(int a[81],int n)
{
int i,j=0;
for(i=1;i<n;i++)
{
if(n%i==0)
{
a[j]=i;j++;
}
}
}
void main()
{
int n=0,m=0,z=0,sum1=0,sum2=0,a[81]={0},b[81]={0};
printf("程序现在开始:\n");
for(n=1;n<100;n++)
for(m=1;m<100;m++)
{
Circle(a,n);
Circle(b,m);
for(z=0;z<81;z++)
{
sum1=sum1+a[z];
}
for(z=0;z<81;z++)
{
sum2=sum2+b[z];
}
if(sum1==m&&sum2==n)
{
if(n==sum1)
{
for(z=0;z<81;z++)
{
if(a[z]==0)break;
printf("%d= ",m);
printf("%d+",a[z]);
}
}
for(z=0;z<81;z++)
{
if(a[z]==0)break;
printf("%d= ",m);
printf("%d+",a[z]);
}
printf("/n");
for(z=0;z<81;z++)
{
if(b[z]==0)break;
printf("%d= ",n);
printf("%d+",b[z]);
}
}
}
}