Cod sursa(job #2389967)

Utilizator Andy_ANDYSlatinaru Andrei Alexandru Andy_ANDY Data 27 martie 2019 17:34:38
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f ( "fact.in" ); ofstream g ( "fact.out" );
int nrzero( int n )
{   if(!n) return 1;
    int nr2=0,nr5=0,cn=n;
    while(cn)
    {   nr2+=cn>>1;
        cn>>=1;
    }
    while(n)
    {   nr5+=n/5;
        n/=5;
    }
    return min(nr2,nr5);
}
int main()
{   int p;
    f>>p;
    int mij,st=1,dr=1e8;
    while(st<dr)
    {   mij=(st+dr)>>1;
        int nrz=nrzero(mij);
        if(p<=nrz) dr=mij;
        else st=mij+1;
    }
    if(nrzero(st)==p) g<<st; else g<<"-1 ";
    return 0;
}