Cod sursa(job #1070920)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 2 ianuarie 2014 12:26:59
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
//
//  main.cpp
//  factorial
//
//  Created by Catalina Brinza on 11/30/13.
//  Copyright (c) 2013 Catalina Brinza. All rights reserved.
//


#include <fstream>
#define nru 100000000
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long  p;

long long zerouri(long long  x)
{long long nr=0,k=5,q=x/5;
    while (q>0)
    {
        nr+=q;
        k=k*5;
        q=x/k;
    }
    return nr;

}
long long cautare(long long  a,long long  b)
{long long  m,nr=0;
    if (a>b) return -1;
    m=a+(b-a)/2;
    nr=zerouri(m);
    if (nr==p)
    {
        long long  q=zerouri(m-m%5);
        if (q==nr) return m-m%5;
        else return m-m%5+1;
    }
    else if (nr>p)
    
        return cautare(a,m-1);
    else return cautare(m+1,b);
}


int  main()
{
    in>>p;
    out<<cautare(5,nru);
    return 0;
}