初学者小白的思路,没有使用数组的方法,算的也很复杂,但还好能过运行,希望大家指正
#include <stdio.h>
int find(int a)
{
int amount=0;
for(int b=1;b<a;b++)
{
if(a%b==0)
{
amount=amount+b;
}
}
if(amount==a)
return a;
else
return 1;
}
int main()
{
int m,n;
scanf("%d %d",&m,&n);
int number=0;
int c;
int z=0;
int i=0;
int cnt=0;
for(int a=m;a>=m&&a<=n;a++)
{
c=find(a);
if(c!=1)
{
printf("%d =",a);
for(int d=1;d<c;d++)
{
if(c%d==0)
{
if(cnt==0)
{printf(" %d",d);
cnt++;}
else
{printf(" + %d",d);
cnt++;}
}
}
printf("\n");
cnt=0;
z=1;
}
}
if(z==0)
printf("None");
}