Cod sursa(job #757944)

Utilizator bratualexBratu Alexandru bratualex Data 13 iunie 2012 20:28:43
Problema Factorial Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 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;
    if (n==0)
    {
        fout<<1;
    }
    else
    {
        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;
    }
}