Cod sursa(job #1210135)

Utilizator robert.onesimRobert Onesim robert.onesim Data 19 iulie 2014 12:37:15
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int funt(long long int x)
{
    int sol=0;
    int po=5;
    while(x/po>0)
    {
        sol+=x/po;
        po*=5;
    }
    return sol;
}
void cautbin(int lo, int hi)
{
    int sol=-1;
    while(hi-lo>1)
    {
        long long int mid=lo+(hi-lo)/2;
        if(funt(mid)<p) lo=mid;
        else if(funt(mid)==p) {sol=mid;hi=mid;}
            else hi=mid;
    }
    fout<<sol<<"\n";
}
int main()
{
    fin>>p;
    //caz particular
    if(p==0) {fout<<1<<"\n";return 0;}
    cautbin(-1,p*5+1);

}