Pagini recente » Cod sursa (job #2798376) | Cod sursa (job #2344147) | Cod sursa (job #2318761) | Cod sursa (job #689660) | Cod sursa (job #66872)
Cod sursa(job #66872)
#include<fstream.h>
#include<stdio.h>
#include<math.h>
long long p;
long long q, b, nr;
long long a, v[10], ex;
void citire()
{
ifstream in("gfact.in");
in>>p>>q;
in.close();
}
void descomp()
{
for (int d=2; d<=p; d++)
{
if (p%d==0)
{
v[++nr]=d;
ex=0;
while (p%d==0) { p/=d; ex++;}
}
}
}
void aflu()
{
long long i, contor=0;
if (v[nr]==2) i=v[nr]*q;
else i=v[nr];
while (contor<q*ex)
{
long long j;
j=i;
if (j%v[nr]==0)
while (j%v[nr]==0)
{
contor++;
j/=v[nr];
}
i+=v[nr];
}
freopen("gfact.out","w",stdout);
printf("%lld",i-v[nr]);
}
int main()
{
citire();
descomp();
aflu();
return 0;
}