871. 约数之和

题目传送门

约数个数与约数和专题

#include <bits/stdc++.h>

using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int N = 110;
const int mod = 1e9 + 7;
unordered_map<int, int> primes;
int n;

int main() {
    cin >> n;
    while (n--) {
        int x;
        cin >> x;
        for (int i = 2; i <= x / i; i++)
            while (x % i == 0) {
                x /= i;
                primes[i]++;
            }
        if (x > 1) primes[x]++;
    }

    LL res = 1;
    for (PII p: primes) {
        LL a = p.first, b = p.second;
        LL t = 1;
        while (b--) t = (t * a + 1) % mod;
        res = res * t % mod;
    }
    cout << res << endl;
    return 0;
}
上一篇:Android 学习第13课,android 实现发送短信的功能


下一篇:X的因子链(筛质数、分解质因数、组合计数)————《信息学奥赛一本通》 , POJ