Cod sursa(job #348304)

Utilizator hasegandaniHasegan Daniel hasegandani Data 15 septembrie 2009 10:53:22
Problema GFact Scor 0
Compilator cpp Status done
Runda Papiu Contest #1 Marime 0.62 kb
#include<stdio.h>

int p,q,s,i,j,k,l;
int mp,ni,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 , l=1;p%i==0;p/=i , k*=i ,++l);
        if (max<k)
            {
            max=k;
            ni=i;
            mp=l;
            }
        }
        

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