黑马程序员技术交流社区

标题: 求指教完数~~~~~ [打印本页]

作者: 猜不透    时间: 2016-6-3 23:06
标题: 求指教完数~~~~~
一个数如果恰好等于他的因子之和,这个数就称为”完数”. 例如: 6 = 1+2+3,编程找出999以内的所有完数.
作者: 冬以    时间: 2016-6-4 23:25
#include<stdio.h>
int main() {
    printf("1-999之内的完数:\n");
    //使用for循环遍历1-999所有的数
    for(int i = 1;i <= 999;i++) {
        //声明一个变量保存i的因子之和
        int sum = 0;
        //使用for循环求i的因子
        for(int j = 1;j < i;j++) {
            //使用if结构求i的因子并把因子进行累加
            if(i % j == 0) {
                sum += j;
            }
        }
        //使用if结构判断i是不是完数并输出结果
        if(i == sum) {
            printf("%4d",i);
        }
    }
    printf("\n");
    return 0;
}
作者: xuemingqiang    时间: 2016-6-5 06:03
我是来学习的,还没有人回答呢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2