Cod sursa(job #1753590)

Utilizator Dan_RadulescuRadulescu Dan Dan_Radulescu Data 6 septembrie 2016 18:58:15
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p;
long long f(long long n){
    long long p=1,s=0;
    while(p<=n){
        p=p*5;
        s=s+n/p;
    }
    return s;
}
long long solve(long long st,long long dr){
    if (st>dr) return -1;
    long long mij,val;
    if (st==dr) return st;
    mij=(st+dr)/2;
    val=f(mij);
    if (val<p) return solve(mij+1,dr);
      else
        if (val>p) return solve(st,mij-1);
          else
            if (f(mij-1)!=p) return mij;
              else
                return solve(st,mij-1);
}
int main(){
   fin>>p;
   fout<<solve(1,1000000000);
   fin.close();
   fout.close();
   return 0;
}