282: 数字的秘密

简介: 282: 数字的秘密

收藏

难度:简单

标签:卓越班选拔

题目描述

在数字王国中,人人都有一个号码,人人都想知道这个号码对自己意味着什么。国王便做了很多个盒子,每个盒子拥有一个号码。人们需要通过一定的方法才能确定哪个盒子有自己的秘密。这个办法就是把自己的数字N的全部因子相加求和。例如12,他因子之和就是1+2+3+4+6=16。现在他们邀请你帮助编写一个函数,寻找他们的密码盒子。

输入

输入数据的第一行是一个数字T(1 <= T <= 500000),它表明有T个需要进行测试的数字,然后是T个测试数据,每个测试数据为一个数字N(0 <= N <= 500000)。

输出

对于每个测试数据,请输出一个代表输入数据的密码编号。

样例输入复制

3

2

10

20


样例输出复制

1

8

22

#include <iostream>
#include <vector>
using namespace std;
int f(int n) {
    int sum = 0;
    for (int i = 1; i < n; i++) {
        if (n % i == 0) {
            sum += i;
        }
    }
    return sum;
}
int main() {
    vector<int> res;
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        int num;
        cin >> num;
        int a = f(num);
        res.push_back(a);
    }
    for (int i : res) {
        cout << i << endl;
    }
    return 0;
}

同样思路用Python就超时了

相关文章
|
18天前
|
存储 算法 区块链
数字指纹在区块链上如何生成和验证
区块链利用哈希函数(如SHA-256)将数据转化为固定长度的数字指纹,确保内容唯一标识。Merkle树加速批量交易验证,通过比较交易哈希、Merkle根及路径哈希来确认交易真实性。直接哈希对比则用于单一数据的完整性检查。这种方式增强了数据不可篡改性和可验证性,支持版权保护和数据完整性。
|
2月前
|
存储
解密N数之和问题的秘密
解密N数之和问题的秘密
|
程序员 定位技术 数据库
“404”,你所不知道的秘密?
“404”,你所不知道的秘密?
219 0
|
存储 C语言
关于二进制世界的秘密
我们都知道,计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?或者说,什么是二进制数呢?在拓展一步,如何使用二进制进行加减乘除?二进制数如何表示负数呢?本文将一一为你揭晓。
关于二进制世界的秘密
|
存储 C语言
浮点数的秘密
浮点数的秘密
162 0
|
算法 量子技术 数据安全/隐私保护
|
Web App开发 安全 算法
世界顶级黑客Kevin D.Mitnick教你如何在数字世界中真正隐形?
本文讲的是世界顶级黑客Kevin D.Mitnick教你如何在数字世界中真正隐形?,对计算机历史有一定了解的人,相信对kevin Mitnick一定不会陌生,可以说他是黑客的代名词。他的黑客生涯可谓充满传奇,已被翻拍成电影,并成为很多黑客的偶像。
1829 0