Pagini recente » Istoria paginii runda/oji_sim | Cod sursa (job #746480) | Cod sursa (job #949479) | Cod sursa (job #2896647) | Cod sursa (job #356901)
Cod sursa(job #356901)
#include <fstream.h>
#include <iostream.h>
int v[45000],w[45000];
int main()
{ int p,k=0,d=2,i,ok,ok2,y;
long x;
ifstream f ("gfact.in");
ofstream g ("gfact.out");
f>>x>>p;
for (d=2;d*d<=x;d++){
k=0;
while (x%d==0) { k++; x/=d;}
if (k>0) v[d]=k*p;
}
if (x>1) v[x]=1*p;
y=2; d=2; ok=0;
while (ok==0) {x=y;
for (d=2;d*d<=x;d++){
k=0;
while (x%d==0) { k++; x/=d;}
if (k>0) w[d]+=k;
}
if (x>1) w[x]+=1;
ok2=1; i=2;
if (v[i]>0 && v[i]>w[i]) ok2=0;
else {
for (i=3;i<=44999;i+=2)
if (v[i]>0 && v[i]>w[i]) ok2=0;
}
if (ok2==1) ok=1;
else y++;
}
g<<y;
f.close();
g.close();
return 0;
}