Pagini recente » Cod sursa (job #194305) | Cod sursa (job #893093) | Cod sursa (job #948450) | Cod sursa (job #2165906) | Cod sursa (job #1117925)
#include<iostream>
#include<fstream>
using namespace std;
unsigned putere(unsigned a, unsigned b)
{ unsigned rez=1;
while(b)
{ if(b&1) { rez*=a; b--; }
a*=a; b>>=1; }
return rez;
}
int main()
{ unsigned long long p,q,ex,aux,cop,d=2,max=0,exmax;
ifstream f("gfact.in");
ofstream g("gfact.out");
f>>p>>q;
while(p>1)
{ ex=0;
while(p%d==0)
{ p=p/d; ex++; }
if(ex)
{ aux=putere(d,ex);
//cout<<d<<"^"<<ex<<endl;
if(aux>max) { max=d; exmax=ex*q; }
}
d++;
}
//cout<<"max="<<max<<" exmax="<<exmax<<endl;
d=0;
while(exmax)
{ d=d+max; cop=d;
while(cop%max==0)
{ exmax--;
cop=cop/max;
}
}
g<<d;
return 0;
}