Cod sursa(job #757933)

Utilizator bratualexBratu Alexandru bratualex Data 13 iunie 2012 19:48:39
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream fin ( "fact.in");
ofstream fout ("fact.out");

long nr5(long,long );

int main()
{
    long n,i=0,k=0,p=0;
    fin>>n;

    while ( k<n )
    {
        p=0;
        i=i+5;
        p=nr5(i,k);
        if ( p )
            k=p;

    }
    if (k==n)
        fout<<i;
    else
        fout<<-1;
    fin.close();
    fout.close();
    return 0;

}

long nr5 ( long a , long k)
{
    int i=0;
    //fout<<"in functie intra "<<a<<" si "<<k<<" iar functia returneaza ";
    while (a%5==0)
    {
            i++;
            a=a/5;
    }
    if (i)
    {
        //fout<<i+k<<"\n";
        return i+k;
    }
    else
    {
        //fout<<"0\n";
        return 0;
    }
}