c语言 完数之和计算

来源:百度知道 编辑:UC知道 时间:2024/05/26 12:11:40
2.如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,
例如:6的因子为1,2,3,且1+2+3=6,因此6是一个“完数”。
计算并输出1000以内的所有“完数”之和。
具体要求如下:
①所有循环均用for循环。
②输出要有文字说明,并同时输出各“完数”。输出形式为:
完数1+完数2+…=和值

#include<stdlib.h>
#include<stdio.h>

int main()
{
int k,i,j;
for(i=0;i<=1000;i++)
{
k=0;
for(j=1;j<=i/2;j++)
{
if(i%j==0)
k+=j;
}

if(k==i)
printf("%d ",i);
}
system("pause");
}

运行正确!!
结果为0,6,28,496;

main() {
int k = 0;
for (int i = 1; i <= 1000; i++) {
k = 0;
for (int j = 1; j <= i / 2; j++) {
if (i % j == 0) {
k += j;
}
}
if (k == i) {
printf("%d\n",i);
}
}
}