Pagini recente » runda/pregatire_oni2014_01 | Cod sursa (job #1928098) | Cod sursa (job #1941425) | Cod sursa (job #1480467) | Cod sursa (job #756855)
Cod sursa(job #756855)
#include<fstream>
#define Mod 9901
using namespace std;
ofstream out("sumdiv.out");
long long int A,B;
int pb(long long int,long long int);
long long calc(long long int );
int main()
{
ifstream in("sumdiv.in");
in>>A>>B;
long long int rez=pb(A,B);
out<<calc(rez)%9901;
return 0;
}
int pb(long long int baza,long long int expo)
{
int i;
int b[50],nrb=0;
for(;expo;expo/=2)
b[++nrb]=expo%2;
int rez=1;
for(i=nrb;i;i--)
{
rez=1LL*rez*rez%Mod;
if(b[i])
rez=1LL*rez*baza%Mod;
}
return rez;
}
long long calc(long long int n)
{
long long int s=0;
long long int i;
for(i=1;i<=n;i++)
if(n%i==0)
s+=i;
return s;
}