Pagini recente » Cod sursa (job #865667) | Cod sursa (job #1876150) | Cod sursa (job #1006926) | Cod sursa (job #588860) | Cod sursa (job #958038)
Cod sursa(job #958038)
#include<stdio.h>
#include<math.h>
int v[20],put[20];
int main()
{
freopen("gfact.in","r",stdin);
freopen("gfact.out","w",stdout);
int p,q,i,j=0,nr=0,max=0;
long long b=1,prod=1;
scanf("%d%d",&p,&q);
p=pow(p,q);
while(p%2==0)
{
p=p/2;
j++;
}
if(j>0)
{
v[++nr]=2;
put[nr]=pow(2,j);
}
for(i=3;i<=p;i+=2)
{
j=0;
while(p%i==0)
{
p=p/i;
j++;
}
if(j>0)
{
v[++nr]=i;
put[nr]=pow(i,j);
}
}
for(i=1;i<=nr;i++)
if(v[i]>max)
max=put[i];
while(prod<max)
{
b++;
prod=prod*b;
}
for(i=1;i<=nr;i++)
if(b<v[i])
b=v[i];
printf("%d\n",b);
return 0;
}