东华大学2021计算机OJ题——基本练习(14 怪数)

14 怪数

作者: Turbo时间限制: 1S章节: 循环

问题描述 :

寻找怪数:有一种奇怪的自然数,它的比其本身小的所有因子之和等于它本身,例如:6=1+2+3,其中1、2、3都是6的因子,编程找出整数N之内的所有怪数。

输入说明 :

输入一个整数N(10<=N≤10000),在行首和行尾没有多余的空格。

输出说明 :

输出N之内(<=N)的所有怪数,每一行输出一个整数。(注:若N中有3个怪数,你则需要输出三行,每行一个怪数。)所有数据前后没有多余的空格,中间也没有多余的空行。

输入范例 :

28
输出范例 :

6
28

AC代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,sum;

    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        sum=0;//每次重新计数,故此处必须清零
        for(int j=1;j<i;j++){
            if(i%j==0){
                sum+=j;
            }

        }
         if(sum==i){
            printf("%d\n",sum);
            }
    }
 return 0;
}

版权声明:本文为No12angle原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。