Cod sursa(job #348303)

Utilizator hasegandaniHasegan Daniel hasegandani Data 15 septembrie 2009 10:48:16
Problema GFact Scor 20
Compilator cpp Status done
Runda Papiu Contest #1 Marime 0.51 kb
#include<stdio.h>

int p,q,s,i,j,k,max;
int rez;

int main()
{
    freopen("gfact.in","r",stdin);
    freopen("gfact.out","w",stdout);
    scanf("%d%d",&p,&q);
    
    for(i=2;i<=p;++i)
        {
        for(k=1;p%i==0;p/=i , k*=i);
        if (max<k)
            max=k;
        }
    i=max;
        

        
    for(j=2 , s=1 ; s+j<=q ; s+=j , ++j);
    --j;
    
    rez=1;
    for(int b=i;j;j/=2 , b*=i)
        if (j%2==1)
            rez*=b;
    
    printf("%d\n",rez);
    return 0;
}