#include
int factorsum( int number );
void PrintPN( int m, int n );#include
int factorsum( int number );
void PrintPN( int m, int n );
int main()
{
int m, n;
scanf("%d %d", &m, &n);
if ( factorsum(m) == m ) printf("%d is a perfect number\n", m);
if ( factorsum(n) == n ) printf("%d is a perfect number\n", n);
PrintPN(m, n);
return 0;
}
/* 你的代码将被嵌在这里 */
int factorsum(int number){
int i,s=1;
if(number==1)
return 0;
else{
for(i=2;i<=number/2;i++){
if(number%i==0)
s+=i;
}if(s==number)
return number;
}}
void PrintPN(int m,int n){
int c=0;
for(m;m<=n;m++){
if(factorsum(m)==m){
c++;
printf("%d = 1",m);
for(int a=2;a
if(m%a==0)
printf(" + %d",a);
}
printf("\n");
}
}
if(c==0)
printf("No perfect number");
还没见过编译无法停止这种现象,贴出来看看