回答如下:
#include "stdio.h"
int main(void){
int i,j,m;
for(i=4;i<1000;i+=2){
for(m=1,j=2;j*j<=i;j++)
if(!(i%j))
m+=(j!=i/j ? j+i/j : j);
if(m==i){
printf("%3d = 1",i);
for((m>>=1)+=1,j=2;jif(!(i%j))
printf("+%d",j);
printf("\n");
}
}
return 0;
}
#include
int main( )
{
int i,j,n,sum,a[100]={0};
for(n=2;n<1000;n++)
{
sum = 0;
j=0;
for(i=1;i<=n/2;i++)
{
if(n%i==0)
{
sum+=i;
a[j]=i;
j++;
}
}
if(sum == n)
{
printf("%d=",n);
for(i=0;i
if(i==j-1)
printf("%d\n",a[i]);
else
printf("%d+",a[i]);
}
}
}
return 0;
}