#include<cstdio>
int main()
{
int m,n;
int sum;
int flag=0;
scanf("%d%d",&m,&n);
for(int i=m;i<=n;i++)
{
sum=0;
for(int j=1;j<i;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
printf("%d=1",sum);
for(int j=1;j<i;j++)
{
if(i%j==0)
{
printf("+%d",j);
}
}
printf("\n");
flag=1;
}
}
if(flag==0)
{
printf("None!\n");
}
return 0;
}
此程序有一个疑问,就是直接定义int sum=0;显示不出来,但是放到最外面的for循环就正确了,我也没弄懂为什么,希望好心人回答。