Cod sursa(job #3193046)

Utilizator francesca79Feier Francesca francesca79 Data 13 ianuarie 2024 20:56:14
Problema Suma divizorilor Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

long long MOD=9901;

ifstream fin ("sumdiv.in");
ofstream fout ("sumdiv.out");

long long s,a,b;

long long p(int a, int b)
{
    int r=1;
    while(b)
    {
        if(b%2==1)
            r=(1LL*r*a)%MOD;
        a=(1LL*a*a)%MOD;
        b=b/2;
    }
    return r;
}

int main()
{
    fin >> a >> b;
    long long n=p(a,b);
    for (long long d=1;d*d<=n;d++)
    {
        if (n%d==0)
        {
            s+=d;
            if (d!=n/d)
            {
                s+=n/d;
            }
        }
    }
    fout << s;
    return 0;
}