完数

作者: 一路向后 | 来源:发表于2021-10-19 21:39 被阅读0次

1.问题描述

求某一范围内完数的个数
如果一个数等于它的因子之和,则称该数为完数(或完全数)。例如,6的因子为1,2,3,而6=1+2+3,因此6是完数。

2.问题分析

根据完数的定义,解决本题的关键是计算出所选取的整数i的因子,将各个因子累加到变量s,若s等于i,则可认为i为完数。

3.源码实现

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

int main()
{
    int n = 0;
    int s = 0;
    int i, j;

    scanf("%d", &n);

    for(i=1; i<n; i++)
    {
        s = 0;

        for(j=1; j<i; j++)
        {
            if(i % j == 0)
            {
                s += j;
            }
        }

        if(s == i)
        {
            printf("%d\n", s);
        }
    }

    return 0;
}

4.编译源码

$ gcc -o test test.c -std=c89

5.运行及其结果

./test
10000
6
28
496
8128

相关文章

  • 完数

    所谓完数,就是除了它本身之外的因素之和,算法如下:

  • 完数

    1.问题描述 求某一范围内完数的个数如果一个数等于它的因子之和,则称该数为完数(或完全数)。例如,6的因子为1,2...

  • 完数和盈数

  • 11.完数

    题目内容:一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例...

  • 19. 完数 VS 盈数

    题目描述 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1。则称其为“完数”;若因子之和大于该...

  • 第十三课 ТРИНАДЦАТЫЙ УРОК

    单词 Слова: тринадцать(数)十三 тринадцатый (数)第十三 забыть(完、I)【...

  • Python【习题】完数:编程找出1000以内的所有完数

    完数的定义: 什么是因子?假如整数n除以m,结果是无余数的整数 n % m == 0,那么我们称m就是n的因子.需...

  • 自学Python:求完数

    先说什么是完数? 如果一个数等于它的因子(因子就是所有可以整除这个数的数)之和,则称该数为“完数”(或“完全数”)...

  • 函数_完数(Java实现)

    题目内容:一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例...

  • 1000以内的完数

    Java参考:···import java.util.Scanner;public class Main{ }···

网友评论

      本文标题:完数

      本文链接:https://www.haomeiwen.com/subject/kpczoltx.html