栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

码蹄集 - MT1265 · 区间完数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

码蹄集 - MT1265 · 区间完数

传送门
    • 区间完数
      • 题目描述
      • 输入描述
      • 输出描述
      • 样例一
        • 输入
        • 输出
  • 题目分析
  • AC代码


区间完数
  • 区间完数

时间限制:1秒
空间限制:64M


题目描述

如果一个整数等于其所有真因子之和,则该数字称为完数。例如,6=1+2+3,输入整数区间,输出区间(含边界)内所有的完数。不考虑0,负数或者其他特殊情况。


输入描述

输入为整型,空格分隔


输出描述

输出为整型,空格分隔


样例一 输入
1 500
输出
6 28 496
题目分析

这题仍然没有说数据范围,但是题目说“不考虑0,负数或者其他特殊情况”,那就暴力一波试试吧。

然后就过了…

AC代码
#include 
using namespace std;
#define mem(a) memset(a, 0, sizeof(a))
#define dbg(x) cout << #x << " = " << x << endl
#define fi(i, l, r) for (int i = l; i < r; i++)
#define cd(a) scanf("%d", &a)
typedef long long ll;

bool ok(int n) {
    if (n == 1)
        return false;
    int s = 1;
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) {
            s += i;
            if (n / i != i) {
                s += n / i;
            }
        }
    }
    return s == n;
}

int main() {
    int l, r;
    cin >> l >> r;
    for (int i = l; i <= r; i++) {
        if (ok(i)) {
            cout << i << ' ';
        }
    }
    return 0;
}

每周提前更新菁英班周赛题解,点关注,不迷路

原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/124729118

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/878994.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号