三、简答题(共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;
}