Cod sursa(job #1672158)
Utilizator | Data | 2 aprilie 2016 13:27:35 | |
---|---|---|---|
Problema | Suma divizorilor | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
using namespace std;
int Divizori(int n)
{
int i,s;
s=0;
for(i=1;i*i<n;i++)
if(n%i==0)s=s+i+(n/i);
if(i*i==n)s=s+i;
return s;
}
int main()
{
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
long long a,b,s;
fin>>a>>b;
s=1;
while(b>0)
{
if(b%2==1)
{
s=(s*a)%9901;
b--;
}
b=b/2;
a=(1LL*a*a)%9901;
}
fout<<(Divizori(s))%9901<<"\n";
fin.close();
fout.close();
}