Cod sursa(job #3216824)

Utilizator BreabanDanielBreaban Daniel-Vasile BreabanDaniel Data 19 martie 2024 22:15:59
Problema Suma divizorilor Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <iostream>
#include <vector>
#define MOD 9901

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

long long int A,B,ans;
long long int exp(long long int val,int e);
int main()
{
    fin>>A>>B;
    B%=(MOD-1);
    A=exp(A,B);
    int d=1;
    while(d*d<A)
    {
        if(A%d==0)
        {
            ans=(ans+d)%MOD;
            ans=(ans+A/d)%MOD;
        }
        d++;
    }
    if(A%d==0)
        ans=(ans+d)%MOD;
    fout<<ans;
    return 0;
}
long long int exp(long long int val,int e)
{
    if(!e)
        return 1;
    int aux=exp(val,e/2);
    if(e%2)
        return aux*aux%MOD*val%MOD;
    return aux*aux%MOD;
}