C语言实例——1000以内的所有完数

简介: 【1月更文挑战第16天】C语言实例——1000以内的所有完数。

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如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

相关文章
|
9月前
|
C语言
C语言之完数、素数、回文数合集
C语言之完数、素数、回文数合集
|
9月前
|
C语言
C语言实例——猴子吃桃
【1月更文挑战第17天】C语言实例——猴子吃桃。
81 1
|
9月前
|
机器学习/深度学习 网络协议 C语言
C语言实例
【1月更文挑战第16天】C语言实例。
159 1
|
9月前
|
Ubuntu 编译器 Linux
C语言中经典的结构体和联合体共用实例
C语言中经典的结构体和联合体共用实例
80 0
|
9月前
|
Shell C语言
C语言实例——小球自由下落
【1月更文挑战第16天】C语言实例——小球自由下落。
139 0
|
2月前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
93 5
|
9月前
|
存储 数据处理 C语言
C语言高级应用探讨与实例
C语言高级应用探讨与实例
80 1
|
9月前
|
C语言
C语言实例
【1月更文挑战第17天】C语言实例。
44 0
|
9月前
|
C语言
C语言循环结构程序设计详解及代码实例
C语言循环结构程序设计详解及代码实例
255 0
|
9月前
|
存储 C语言 索引
C语言一维数组与二维数组详解及代码实例
C语言一维数组与二维数组详解及代码实例
129 0

热门文章

最新文章