Cod sursa(job #2486638)

Utilizator andreea_husleagAndreea Husleag andreea_husleag Data 3 noiembrie 2019 11:48:02
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");
long long p,x=1,p1;
int ultima(int m){
    int s,r,y=5;
    r=m/y;
    s=0;
    while(r){
        s+=r;
        y*=5;
        r=m/y;
    }
    return s;
}
long long cautare(long long x){
    long long st=1,dr=x,m,r=dr,nr=0,ok=0,m1;
    while(st<=dr){
        m=(st+dr)/2;
        nr=ultima(m);
        if(nr==p)
             if(m<r){
                r=m;
                ok=1;}
        if(nr>=p)
            dr=m-1;
        else
            st=m+1;
    }
    if(ok==1)
    return r;
    else
        return -1;
}

int main()
{   f>>p;
if(p==0)
    g<<"1";
else{
    x=p*10;
    g<<cautare(x);}
    return 0;
}