C语言6.16 题目描述 一个数如果恰好等于它的因子之和,这个数就被称为“完数”。例如,6的因

C语言6.16题目描述一个数如果恰好等于它的因子之和,这个数就被称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。找出1000之内的所有完数,... C语言6.16
题目描述
一个数如果恰好等于它的因子之和,这个数就被称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。找出1000之内的所有完数,并输出。
输入

输出
每一个完数一行。在每一行中,首先输出这个完数的值,再输出一个冒号,之后从小到大输出这个完数的所有因子,在每个因子前输出一个空格。
请注意行尾输出换行。
样例输入

样例输出
6: 1 2 3
28: 1 2 4 7 14
496: 1 2 4 8 16 31 62 124 248
测试成功就采纳
展开
 我来答
White_MouseYBZ
2016-03-26 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6496万
展开全部
#include <stdio.h>
int main(void){
    int n,i,j,m;
    for(i=4;i<1000;i+=2){
        m=1;
        for(j=2;j*j<=i;j++)
            if(!(i%j)) m+=(j!=i/j ? j+i/j : j);
        if(m==i){
            printf("%d: 1",i);
            for(j=2,n=i/2;j<=n;j++)
                if(i%j==0)
                    printf(" %d",j);
            printf("\n");
        }
    }
    return 0;
}
追问
感谢,对的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2016-03-26 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式