Cod sursa(job #1313173)

Utilizator bulbulicaAlexandrescu Cristian bulbulica Data 10 ianuarie 2015 13:01:19
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;

int fact(int a)
{
    int s=0,x=5;
    while(x<=a)
    {
        s=s+a/x;
        x = x*5;
    }
    return s;
}
int main()
{
    int st=0,mij,dr=1000000000,p,n=-1;
    ifstream f("fact.in");
    ofstream g("fact.out");
    f>>p;
    if(p==0)
    {
        g<<"1";
        return 0;
    }
    while(st<=dr)
    {
         mij=(st+dr)/2;
         if(fact(mij)>p)
         {
             dr=mij-1;
         }
         if(fact(mij)<p)
         {
             st=mij+1;
         }
         if(fact(mij)==p)
            n=mij,dr=mij-1;
    }
    g<<n;
    return 0;
}