day13

作者: 今生何求惟你 | 来源:发表于2018-06-23 21:14 被阅读2次

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。

程序:

#include <stdio.h>

main()

{

static int k[10];

int i,j,n,s;

for(j=2;j<1000;j++)

{

n=-1;

s=j;

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

{

if(j%i==0)

{

n++;

s=s-i;

k[n]=i;

}

}

if(s==0)

{

printf("%d is a wanshu ",j);

for(i=0;i<n;i++)

printf("%d ",k[i]);

printf("%d\n",k[n]);

}

}

}

解题思想:先把这个数取出,然后从2到这个数时间依次取数判断是不是因数,若是,则减去这个数,若不是,则继续判断下个数是不是因数,最后看结果是不是0来判断它是不是”完数”。

程序输出样式:

day13

相关文章

网友评论

    本文标题:day13

    本文链接:https://www.haomeiwen.com/subject/zyalyftx.html