Cod sursa(job #787039)
Utilizator | Data | 12 septembrie 2012 15:33:19 | |
---|---|---|---|
Problema | Suma divizorilor | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include<fstream>
#include<math.h>
using namespace std;
int main()
{
int n,d=1,p=0, A,B;
ifstream cin("sumdiv.in");
ofstream cout("sumdiv.out");
cin>>A>>B;
//cout<<A<<" "<<B<<" ";
n=pow(A,B);//cout<<n<<endl;
int seul=1;
while(n>1)
{d++;p=0;
while(n%d==0)
{
p++;
n=n/d;
}
seul=seul*(pow(d,p+1)-1)/(d-1);
}
cout<<seul;
return 0;
}