Cod sursa(job #3211696)

Utilizator YuzukyIstrate Andreea Ruxandra Yuzuky Data 9 martie 2024 23:59:30
Problema Suma divizorilor Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("sumdiv.in");
ofstream out("sumdiv.out");

long long solve (int nr, int exp, int mod)
{
    if(exp==0)
        return 1;
    else
    {
        int p = solve(nr, exp/2, mod);
        if(exp%2==0)
            return p*p%mod;
        else
            return p*p%mod*nr%mod;
    }
}
int main()
{
    int a,b;
    in>>a>>b;
    long long nr=solve(a, b, 9901), s=1;
    if(nr>1)
        s=(s+nr)%9901;
    for(int d=2; d*d<=nr; ++d)
    {
        if(nr%d==0)
        {
            s=(s+d)%9901;
            if(d*d!=nr)
                s=(s+nr/d)%9901;
        }
    }
    out<<s;
    return 0;
}