c++,特别基础的那种

求[10,10000]内的完备数的和,所谓完备数是指因子各等于本身的数,如6=1+2+3.其中求因子和要求用函数实现。其中部分代码已经给出,请根据已有代码完成本题。

#include

#include

int f(int n) //求n的因子和(因子包含数n本身)

{ int i,k=sqrt(n),s=0;

for(i=1;i<=k;i++)

if(          )

  if(         )

                ;

  else

    s+=i+n/i;

return s;

}

int main()

{ int i,s=0;

for(i=10;i<10000;i++)

    if(              )

    {s++; printf("%d  ",i);} 

printf("\n%d\n",s);

return 0;

}

这个怎么解啊TAT,废物的大一新生想不出来

第一处改为if(n%i==0) s=s+i
第二处改为 if(i==fun(i)) printf("%d",i)

img

img