Cod sursa(job #611547)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 1 septembrie 2011 21:37:04
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
std::ifstream f;
std::ofstream g;

int n_zero(int n){
    int x=5,p=0;
    while(n/x>0){p+=n/x;x*=5;}
    return p;
}

int cb(int p){
    int st=1,dr=0x17d78410,mid,k,min=dr;
    while(st<=dr){
        mid=(st+dr)/2;
        k=n_zero(mid);
        if(p>k)st=mid+1;else dr=mid-1;
        if(k==p&&mid<min)min=mid; };
    return min;
}

int main(){
    int p,n;
        f.open("fact.in");
        g.open("fact.out");
        f>>p;
        n=cb(p);
        g<<(n_zero(n)==p?n:-1);
        f.close();
        g.close();
}