Cod sursa(job #313508)

Utilizator popoiu.georgeGeorge Popoiu popoiu.george Data 9 mai 2009 11:36:06
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
using namespace std;

fstream f("fact.in",ios::in),g("fact.out",ios::out);

long long p,n,nr,gasit,fin;

int nr_0(long long a)
{
long long fm=0,factor=5;
while(factor<=a)
    {
    fm+=a/factor;
    factor*=5;
    }
return fm;
}

int caut(long long a,long long b)
{
n=(a+b)/2;
nr=nr_0(n);
if(a==b && nr!=p)return 0;
if(nr==p){fin=n;}
    else
    {
    if( nr < p ) caut(n+1,b);
    else caut(a,n-1);
    }
return 0;
}

int main()
{
int go=1;
f>>p;
f.close();
caut(0,900000000);
if(!fin)g<<-1;
else 
    {
    while(go && fin-1 >0)
        {
        if(nr_0(fin) == p ) {fin--;}
        else {go=0;fin++;}
        }
    g<<fin;
    }
g.close();
return 0;
}