找出m到n之间的完数。(我用数组)
#include<stdio.h>
int main()
{
int i,j,k,sum,m,n,num,flag=0;
int yinzi[50];
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
num=i;
sum=0;
yinzi[50]=0;
for(j=1;j<=num/2;j++)
{
if(num%j==0)
{
sum=sum+j;
yinzi[j-1]=j;
}
}
if(sum==num)
{
flag=1;
printf("%d = ",num);
for(k=0;k<j-2;k++)
{
printf("%d +",yinzi[k]);
}
printf("%d\n",yinzi[k]);
}
}
return 0;
}
int main()
{
int i,j,k,sum,m,n,num,flag=0;
int yinzi[50];
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
num=i;
sum=0;
yinzi[50]=0;
for(j=1;j<=num/2;j++)
{
if(num%j==0)
{
sum=sum+j;
yinzi[j-1]=j;
}
}
if(sum==num)
{
flag=1;
printf("%d = ",num);
for(k=0;k<j-2;k++)
{
printf("%d +",yinzi[k]);
}
printf("%d\n",yinzi[k]);
}
}
return 0;
}