Cod sursa(job #1117738)

Utilizator iu.ciocoiuIulian iu.ciocoiu Data 23 februarie 2014 19:27:46
Problema GFact Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<iostream>
#include<fstream>
using namespace std;

unsigned putere(unsigned a, unsigned b)
{
    unsigned rez=1;
    while(b>1)
    {   if(b%2) { rez*=a; b--; }
        a*=a; b/=2;
    }
    return rez*a;
}
int main()
{
    unsigned p,q,ex,aux,cop,d=2,max=0,exmax;
    ifstream f("gfact.in");
    ofstream g("gfact.out");
    f>>p; f>>q;
    while(p>1)
        {   ex=0;
            while(p%d==0)
                { p=p/d; ex++; }
            if(ex)
                {   aux=putere(d,ex);
                    if(aux>max) { max=d; exmax=ex*q; }
                }
            d++;
        }
    aux=max;
    d=0;
    while(exmax>0)
    {
        d++;
        cop=d;
        while(cop%max==0)
            {   exmax--;
                cop=cop/max;
            }
    }
    g<<d;
    return 0;
}