Cod sursa(job #1482050)

Utilizator CalinSpiridonSpiridon Calin CalinSpiridon Data 5 septembrie 2015 21:46:49
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

int n, p, e, ct, mj;

int zero(int h){
    e=0;
    int k=5;
    while(h>=k){
        e+=h/k;
        k*=5;
    }
    return e;
}

int main(){
    fin>>p;
    if(p==0) fout<<1;
    else if(p<=4) fout<<5*p;
        else{
           int st=2*p/5-1;
           int dr=p+1;
           int ok=1;
           while(dr-st>1 && ok){
                mj=(st+dr)/2;
                if(zero(5*mj)==p) ok=0;
                if(zero(5*mj)<p) st=mj;
                if(zero(5*mj)>p) dr=mj;
           }
           if(ok) fout<<-1;
           else fout<<5*mj;


        }
    return 0;
}