完数

简介: 【6月更文挑战第8天】完数。

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

include

define N 1000

int main()
{
int i,j,k,n,sum;
int a[256];
for(i=2;i<=N;i++)
{
sum=a[0]=1;
k=0;
for(j=2;j<=(i/2);j++)
{
if(i%j==0)
{
sum+=j;
a[++k]=j;
}

    }
    if(i==sum)
    {
        printf("%d=%d",i,a[0]);
        for(n=1;n<=k;n++)
            printf("+%d",a[n]);
        printf("\n");
    }

}
return 0;

}

以上实例输出结果为:

6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248

目录
相关文章
|
2月前
|
存储
完数
这段代码用于查找1000以内的所有完数,并找出每个完数的因子及其和。完数是指一个数恰好等于其所有因子之和,例如6=1+2+3。代码首先定义了一个`findDivisors`函数来查找某个数的所有因子并计算其和,然后在主函数中遍历2到1000之间的数,利用`findDivisors`函数判断是否为完数,并输出完数及其因子。最后释放分配给因子数组的内存。
38 7
|
6月前
|
算法
容斥原理:能被整除的数
容斥原理:能被整除的数
|
2月前
|
存储 C语言
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
58 4
|
6月前
|
机器学习/深度学习
完全平方数
完全平方数.。
61 0
|
6月前
26.一个正整数如果恰好等于它的因子之和,这个数称为“完数”,如6=1+2+3,求1000以内所有的完数.
26.一个正整数如果恰好等于它的因子之和,这个数称为“完数”,如6=1+2+3,求1000以内所有的完数.
66 0
|
6月前
38.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
38.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
63 0
求一个数是几位数并输出逆序数
求一个数是几位数并输出逆序数
63 0
|
6月前
|
人工智能 Java C++
分解质因数
分解质因数
52 1
|
6月前
|
算法 C++
C++020-C++因数,公因数,公倍数
C++020-C++因数,公因数,公倍数
C++020-C++因数,公因数,公倍数
|
6月前
|
C++
有效的完全平方数(C++)
有效的完全平方数(C++)
66 0