C语言完全数问题,求大神直接给程序

  1. 输入整数n,判断n是否是完全数,并输出结果
  2. 输入N,输出1~N之间的所有完全数

#include
int main()
{
int n,N,i,j,sum;
printf("输入整数n,判断n是否是完全数:\n");
scanf("%d",&n);
sum = 0;
for (i = 2;i < n;i++)
{
if (n%i == 0)sum += i;
}
if (n==sum)
printf("%d是完全数\n",n);
else
printf("%d不是完全数\n",n);
printf("输入整数N,输出1~N之间的所有完全数:\n");
scanf("%d",&N);
printf("1~N之间的所有完全数为:\n");
for (i = 6;i <= N;i++)
{
for (j = 2,sum = 0;j < i;j++)
{
if (i%j==0)
sum+=j;
}
if (sum == i)
printf("%d\n",i);
}
return 0;
}

#include"stdio.h"

bool PerfectNum(int n){
int sum=0;
for(int i=1;i<=(n/2);i++){
if (n%i==0) {
sum=sum + i;
}
}
if (n==1){
return true;
}else if(n == sum){
return true;
}
return false;
}

int main(void){
for(int k=2;k<100000;k++){
if (PerfectNum(k)){
printf("%d 是完全数\n",k);
}
}
return 0;
}