Cod sursa(job #2984187)

Utilizator stefanrotaruRotaru Stefan-Florin stefanrotaru Data 23 februarie 2023 18:22:47
Problema Suma divizorilor Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("sumdiv.in");
ofstream g("sumdiv.out");

const int MOD = 9901;
int n, p, suma, nr = 1;

int main()
{
    f >> n >> p;

    while (p) {
        if (p & 1) {
            nr = (nr * n) % MOD;
            p--;
        }

        n = (n * n) % MOD;
        p /= 2;
    }

    for (int i = 1; i * i <= nr; ++i) {
        if (nr % i == 0) {
            suma += i;
            suma += nr / i;
        }

        if (i * i == nr) {
            suma -= i;
        }
    }

    g << suma;

    return 0;
}