完数(C语言实现)

【题目描述】

输出X以内所有的完数,并输出其所有的因子。所谓完数,是指小于自身的所有因子之和恰好等于其本身。例如,6是一个完数,因为1+2+3=6。

从键盘输入X,输出完数及其所有因子,输出的每个数字占5位。

【输入样例】

1000

【输出样例】

6

1 2 3

28

1 2 4 7 14

496

1 2 4 8 16 31 62 124 248

代码实现

#include <stdio.h>

int main()

{

    int X,a=0,b=0,c,d,i;

    scanf("%d",&X);

    //printf("%d",X);

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

    {

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

        {

            if(i%c==0)

            {

                b=b+c;

            }

        }

        if(b==i)

        {

            printf("%5d\n",b);

             for(d=1;d<b;d++)

             {

                 if(b%d==0)

                    printf("%5d",d);

             }

             printf("\n");

        }

            b=0;

    }

  return(0);

}

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值