码蹄集 - MT1265 · 区间完数

Posted Tisfy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了码蹄集 - MT1265 · 区间完数相关的知识,希望对你有一定的参考价值。

传送门


区间完数

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


题目描述

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


输入描述

输入为整型,空格分隔


输出描述

输出为整型,空格分隔


样例一

输入

1 500

输出

6 28 496

题目分析

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

然后就过了…

AC代码

#include <bits/stdc++.h>
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

以上是关于码蹄集 - MT1265 · 区间完数的主要内容,如果未能解决你的问题,请参考以下文章

算法竞赛入门码蹄集进阶塔335题(MT2286-2290)

码蹄集 - MT3111· 赋值

算法竞赛入门码蹄集新手村600题(MT1501-1550)

算法竞赛入门码蹄集新手村600题(MT1401-1450)

算法竞赛入门码蹄集新手村600题(MT1201-1250)

算法竞赛入门码蹄集新手村600题(MT1551-1600)