Pagini recente » Cod sursa (job #679927) | Cod sursa (job #1094024) | Cod sursa (job #2235307) | Cod sursa (job #2764379) | Cod sursa (job #958059)
Cod sursa(job #958059)
#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;
int b,exp;
scanf("%d%d",&p,&q);
p=pow(p,q);
for(i=2;i<=p;i++)
{
j=0;
while(p%i==0)
{
p=p/i;
j++;
}
if(j>0)
{
v[++nr]=i;
put[nr]=j;
}
}
for(i=1;i<=nr;i++)
{
exp=1;
b=v[i];
while(exp<put[i])
{
b+=v[i];
exp+=b/v[i];
}
if(b>max)
max=b;
}
printf("%d\n",max);
return 0;
}
/*
int putere(int a,int b)
{
int i,r=1;
for(i=1;i<=b;i++)
r*=a;
return r;
}
long long b=1,prod=1;
while(p%2==0)
{
p=p/2;
j++;
}
if(j>0)
{
v[++nr]=2;
put[nr]=putere(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]=putere(i,j);
}
}
for(i=1;i<=nr;i++)
if(put[i]>max)
{
max=put[i];
prod=put[i]/
while(prod<max)
{
b++;
prod=prod*b;
}
for(i=1;i<=nr;i++)
if(b<v[i])
b=v[i];*/