Cod sursa(job #1894100)

Utilizator maria_sinteaMaria Sintea maria_sintea Data 26 februarie 2017 14:45:23
Problema Suma divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
#define n 9901

using namespace std;

long long int a, b;

int putere(int a, int b)
{
    int p=1;
    for(int i=1;i<=b;i++)
        p=(p*a)%n;
    return p;
}

int sdiv()
{
    int s=0, d;
    int x=putere(a, b);
    for(d=1;d*d<x;d++)
        s=(s+d+x/d)%n;
    if(d*d==x)
        s=(s+d)%n;
    return s;
}

int main()
{
    freopen("sumdiv.in", "r", stdin);
    freopen("sumdiv.out", "w", stdout);

    scanf("%lld %lld", &a, &b);
    if(a==0)
        printf("0");
    else
       {
          int rez=sdiv();
          if(rez<0)
             rez+=9901;
          printf("%d", rez);
       }
    return 0;
}