C程序如下:
#include
void main()
{
int m, n;
int i, j;
int sum;
printf("请输入范围m,n:");
scanf("%d%d", &m, &n);
for(i=m; i<=n; i++)
{
for(j=1, sum=0; j<=i/2; j++)
if(i % j == 0)
sum += j;
if(sum == i)
printf("%d\n", i);
}
}
运行测试:
请输入范围m,n:1 100
6
28
#include
#include
void main()
{
int i=1;
int j;
int sum=1;
int m,n;
printf("int put m,n: ") ;
scanf("%d,%d",&m,&n);
for(i=m;i
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0&&i/j!=i)
{
if(i/j==j)
sum+=j;
else
sum+=i/j+j;
}
}
if (sum==i&&i!=1)
printf("%d\n",i);
sum=1;
}
system("pause");
}