使用函数输出指定范围内的完数

    xiaoxiao2022-07-13  165

    #include<stdio.h> int factorsum(int number); void PrintPN(int m,int n); main() { int i, 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); } int factorsum(int number) { int i,sum=1; for(i=2;i<number;i++) if(number%i==0) sum=sum+i; return sum; } void PrintPN(int m,int n) { int count=0; int i,j; for(i=m;i<=n;i++) { if(factorsum(i)==i) /*判断是否为完数*/ { count++; printf("%d = 1",i); for(j=2;j<i;j++) { if(i%j==0) printf(" + %d",j); } printf("\n"); } } if(count==0) printf("No perfect number"); }
    最新回复(0)