pta使用函数输出指定范围内的完数不知哪里错了 帮看一下

int factorsum( int number )
{
int i,sum=1;
for(i=2;i<number;i++)
{
if(number%i==0)
{
sum+=i;
}
}
return sum;
}
void PrintPN( int m, int n )
{
int i,flag=0,j;
for(i=m;i<=n;i++)
{
if(m=1)

    if(factorsum( i )==i)
    {
        printf("%d = 1",i);
        for(j=2;j<i;j++)
        {
            if(i%j==0)
            {
                printf(" + %d",j);
            }
        }
        printf("\n");
        flag=1;
    }
}
if(flag==0)
{
    printf("No perfect number");
}

}

img

m那是 m>=1吧、少了个大于号