第三题的答案,来几个来会的

img

三、简答题(共1题,30分)(编程题)
1、求0-500范围内完数及算的个数
妈果一个数等于它的因子之和,剧物该数为“完数或,完全数”)。例。6的因子为3,而6*1+2-3因此6

手数,359口拼写社意国文 费营式

#include <stdio.h>
#include <stdlib.h>
void wanshu(int n)
{
    int i,j = 0;
    int sum = 0;
    int*p = (int*)malloc(sizeof(int)*n);
    for(i=1;i<n;i++)
    {
        if(n%i==0)
        {
            p[j] = i;
            sum += i;
            j++;
        }
    }
    if(sum == n)
    {
        printf("%d its factors are ");
        for(i=0;i<j;i++)
        {
            if(i<j-1)
                printf("%d ",p[i]);
            else
                printf("%d\n",p[i]);
        }
    }
    free(p);
    p = 0;
}

int main()
{
    int i;
    for(i=0;i<=500;i++)
        wanshu(i);
    return 0;
}


#include <stdio.h>
int main()
{
int i=1,sum,j;
while(i<500)
{
  sum=0;
    j=1;
  while(j<i){
  if (i%j==0){ sum+=j;}
j++;
}
if(i==sum) 
{    
    printf("%d\t",i);
    j=1;
      while(j<i){
      if (i%j==0){printf("%d\t",j);}
    j++;}
    printf("\n");       
}
i++;
}
return 0;
}