Cod sursa(job #1466311)

Utilizator StefanMudragMudrag Stefan StefanMudrag Data 28 iulie 2015 22:09:53
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>
#include<fstream>
#define saci 10000000000
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long n,p;
int f(long long x)
{  long long nr=0;
  //cout<<x<<" ";
    while(x)
    {
        nr+=x/5;
        x=x/5;
    }
   // cout<<nr<<'\n';
    return nr;
}
int cauta(long long  st,long long dr)
{   long long x;
   // cout<<st<<" "<<dr<<" ";
    long long c=(st+dr)/2;
   if(st>dr)return -1;
    x=f(c);

    if(x==p)
    {
        if(c%5)return cauta(st,c-1);
        return c;
    }
    if(x<p) return cauta(c+1,dr);
    else
        return cauta(st,c-1);

}
int main()
{

 fin>>p;
 long long rez;
 rez=cauta(1,saci);
fout<<rez;
 return 0;
}