Pagini recente » Cod sursa (job #514558) | Cod sursa (job #2441378) | Cod sursa (job #1810319) | Cod sursa (job #3200910) | Cod sursa (job #714371)
Cod sursa(job #714371)
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
int a1,b,i,j,x,d,y,nr,v[100000];
long long s,p;
bool a[10000000];
int main()
{f>>a1>>b;
y=(int)(double)sqrt((double)a1);
for(i=3;i<=y;i=i+2)
if(a[i]==0)
for(j=i*i;j<=a1;++j)
a[j]=1;
nr=1;
v[1]=2;
for(i=3;i<=a1;i=i+2)
if(a[i]==0)
++nr,v[nr]=i;
d=1;
s=1;
while(a1!=1)
{if(a1%v[d]==0)
{p=1;
while(a1%v[d]==0)
{a1=a1/v[d];
p=p*v[d];
}}
x=p;
for(i=1;i<b;++i)
p=p*x;
s=s*(p*x-1)/(v[d]-1);
}
g<<s<<'\n';
f.close();
g.close();
return 0;
}