Cod sursa(job #1566846)

Utilizator Mihai9Oniga Mihai Mihai9 Data 12 ianuarie 2016 18:02:51
Problema Factorial Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int nrz(int n){
 if(n==0){return 1;}
 int c=5,z=0;
 while(c<=n){
    z+=n/c;
    c*=5;
 }
 return z;
}
int main()
{
    int p,ls=1,ld=100000000,m,z=-1;
    bool ok=false;
    fin>>p;
    while(ls<=ld&&!ok){
     m=(ls+ld)/2;
     if(p==nrz(m)){
        z=m;
        ok=true;
     }
     else if(p<nrz(m)){
        ld=m-1;
     }
     else ls=m+1;
    }
    while(nrz(z)==p){z--;}
    fout<<z+1;
    return 0;
}