Cod sursa(job #2460080)

Utilizator petrisorvmyVamanu Petru Gabriel petrisorvmy Data 22 septembrie 2019 17:30:36
Problema Suma divizorilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
#define ll long long
#define mod 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
ll a, b;
ll logpow(ll a, ll b)
{
    ll r = 1;
    while(b)
    {
        if(b & 1)
            r = (r * a) % mod;
        b /= 2;
        a *= a;
        a %= mod;
    }
    return r;
}
int main()
{
    f >> a >> b;
    ll ans;
    ans = logpow(a, b + 1);
    ans = ans - 1 + mod;
    ans %= mod;
    ans = (ans * logpow(a - 1, mod - 1)) % mod;
    g << ans;
    f.close();
    g.close();
}