Cod sursa(job #942077)

Utilizator ShadoWolfCodrut Constantin Gusoi ShadoWolf Data 20 aprilie 2013 18:29:53
Problema Factorial Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
using namespace std;
 
long fact(long a);
 
int main()
{
    long a;
    ifstream in("fact.in");
    in>>a;
    in.close();
    ofstream out("fact.out");
    out<<fact(a)<<"\n";
    out.close();
    return 0;
}
 
 
long fact(long a)
{  
    if (a==0) return 1;
    int rez=1,nr=5;
    while(true)
    {
        if (rez==a)
        {
            break;
        }
        else if (rez>a)
        {
            return -1;
        }
        else
        {
            nr+=5;
            int c=nr;
            while (c%125==0)
            {
                c/=125;
                rez+=3;
            }
			while (c%25==0)
            {
                c/=25;
                rez+=2;
            }
			 while (c%5==0)
            {
                c/=5;
                rez+=1;
            }
        }
    }
    return nr;
}