Cod sursa(job #2391488)

Utilizator cris.aldea67@gmail.comAldea C. [email protected] Data 28 martie 2019 21:44:03
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
//#include <iostream>
#include <fstream>
using namespace std;
//int v[1000000],prime[]={2,3,5,7,9,11,13};
int cati5(long long x)
{int nr=0,p=1,c=0;
    x=x-x%5;
    while(p*5<=x)p=p*5;

    while(p>1){
        nr=nr+x/p;
        p/=5;
    }
    return nr;
}
int cautbin(long long st,long long dr,int p){long long m;
    if(st<=dr){m=(st+dr)/2;
        if(p>cati5(m))
        return cautbin(m+1,dr,p);
        else return cautbin(st,m-1,p);}

    else
    if(p==cati5(st))
    return st;
    else return -1;
}
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{/*int i,k,d,j=0;
    prime[1]=1;
    for(d=2;d*d<=1000000;d++)
    if(v[d]==0)
    for(k=2;k*d<=1000000;k++)
    v[d*k]=1;
    for(i=2;i<=d;i++)
    if(v[i]==0){prime[j++]=i;cout<<i<<" ";}*/
    int p;
  fin>>p;
 // cout<<cati5(n);cout<<endl;
fout<<cautbin(1,2000000000,p)<<endl;

    return 0;
}