用c++软件求1000之内的所有完全数

来源:百度知道 编辑:UC知道 时间:2024/04/28 16:45:05
大哥~请您打些注释好不?我是初学着~看不是很明白。。。

#include <stdio.h>

void main()
{
int a,s,k;
int n=0;
printf("(2,10000)中的完全数:\n");
for(a=2;a<=10000;a++){
s=1;
for(k=2;k<=a/2;k++)
if(!(a%k)) s+=k;
if(s!=a)continue;
n++;
printf("%d:%d=1",n,a);
for(k=2;k<=a/2;k++)
if(!(a%k))printf("+%d",k);
printf("\n");

}
}

或者

#include "stdio.h"
void main()
{
int i,j,n,sum;
printf("Input N:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=0;
for(j=1;j<i;j++) if(i%j==0) sum+=j;
if(sum==i) printf("%d ",i);
}
}