Pagini recente » Cod sursa (job #917060) | Cod sursa (job #3001283) | Cod sursa (job #316265) | Cod sursa (job #2596923) | Cod sursa (job #418405)
Cod sursa(job #418405)
#include <cstdio>
#include <cmath>
#define infile "sumdiv.in"
#define outfile "sumdiv.out"
#define MaxN 100000
#define MaxM 1000
#define MODULO 9901
bool a[MaxN];
long long A,B,p,r,K,val,S;
void read()
{
scanf("%lld%lld",&A,&B);
}
void pw(long long &val,long long B)
{
long long i,aux=val;
for(i=1;i<=B;i++)
val*=aux;
}
void solve()
{
long long i,j;
for(i=2;i*i<MaxN;i++)
if(a[i]==false)
for(j=2;j*i<MaxN;j++)
a[i*j]=true;
i=2; S=1;
while(A>1)
{
while(a[i]==true)
i++;
p=i; r=0; val=1;
while(A%i==0)
{
A/=i;
r++; val*=i;
}
pw(val,B);
S*=(val-1)/(i-1);
i++;
}
}
void write()
{
printf("%lld",S);
}
int main()
{
freopen(infile,"r",stdin);
freopen(outfile,"w",stdout);
read();
solve();
write();
fclose(stdin);
fclose(stdout);
return 0;
}