Cod sursa(job #808741)

Utilizator UnforgivenMihai Catalin Botezatu Unforgiven Data 7 noiembrie 2012 11:00:13
Problema Suma divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <stdio.h>
#define MOD 9901
using namespace std;
long long power(long long x, long long y)
{
    long long p = 1;
    while (y > 0)
    {
        if (y % 2 == 1)
        {
            p *= x;
            p %= MOD;
        }
        y = y / 2;
        x *= x;
        x %= MOD;
    }
    return p % MOD;
}
int main()
{
    FILE *input = fopen("sumdiv.in","r");
    FILE *output = fopen("sumdiv.out","w");
    long long a;
    long long b;
    fscanf(input,"%lld",&a);
    fscanf(input,"%lld",&b);
    long long answer = ( ( power(a,b+1) -1 ) / (a - 1) ) % MOD;
    fprintf(output,"%lld",answer);
    fclose(input);
    fclose(output);
    cout << "Hello world!" << endl;
    return 0;
}