Nu aveti permisiuni pentru a descarca fisierul grader_test1.in
Cod sursa(job #2389968)
Utilizator | 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;
}