Pagini recente » Cod sursa (job #3144832) | Cod sursa (job #1061820) | Cod sursa (job #1347305) | Cod sursa (job #2328424) | Cod sursa (job #2258335)
#include <cstdio>
using namespace std;
FILE* FIN=freopen("gfact.in","r",stdin);
FILE* FOUT=freopen("gfact.out","w",stdout);
int v[2][1024],n,prim[45000];
void eratostene()
{
int p,l;
for(i=4;l<45000;l+=2)
prim[l]=1;
for(p=3;p<215;p+=2)
if(!prim[p])
for(l=p*p;l<45000;l+=p+p)
prim[l]=1;
}
void cit()
{
int x,y;
scanf("%d%d",&x,&y);
if(!(x%2))
{
v[0][n]=2;
while(!(x%2))
{
v[1][n]++;
x/=2;
}
n++;
}
for(i=3;i*i<=n;i+=2)
if(!prim[i]&&)
{
v[0][n]=i;
while(!(x%i))
{
v[1][n]++;
x/=i;
}
n++;
}
if(x>1)
{
v[0][n]=x;
v[1][n]=1;
n++;
}
for(i=0;i<n;i++)
v[1][i]*=y;
}
long int pow(int b,int e)
{
long int s;
while(e)
s*=b,e--;
}
long int ap(long int z,long int p)
{
long int s,a=1,b=z;
z=pow(z,p);
while(a<z)
{
}
}
void af()
{
long int i,x,s=1;
for(i=0;i<n;i++)
{
x=ap(v[0][i],v[1][i]);
if(x>s)
s=x;
}
printf("%d",s);
}
int main()
{
eratostene();
cit();
af();
return 0;
}