Cod sursa(job #3284815)
| Utilizator | Data | 12 martie 2025 11:01:57 | |
|---|---|---|---|
| Problema | Factorial | Scor | 95 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<fstream>
#include<climits>
#define int long long
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int Nr_0_final(int n){
int s=0,i,c=5;
while(n >= c){
s+=n/c;
c*=5;
}
return s;
}
int32_t main(){
int st,dr,mij,rez=-1,p,n,x;
fin>>p;
st=0;
dr =LLONG_MAX;
while(st<=dr){
mij=(st+dr)/2;
x = Nr_0_final(mij);
if(x == p){
rez=mij;
dr=mij-1;
}
else
if(x > p)
dr=mij-1;
else
st=mij+1;
}
fout<<rez;
}
