Cod sursa(job #2047395)
| Utilizator | Data | 24 octombrie 2017 19:58:16 | |
|---|---|---|---|
| Problema | Factorial | Scor | 55 |
| Compilator | cpp | 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,n,s;
int nr0(int n)
{
int a;
a=5;
s=0;
while(n/a>0)
{
s=s+n/a;
a=a*5;
}
return s;
}
int ctbn(int l,int r)
{
int mij;
while(l<=r)
{
mij=(l+r)/2;
if(nr0(mij)==p)
{
while(nr0(mij)==p)
{
if(nr0(mij-1)!=p)
return mij;
else
mij--;
}
}
else
{
if(nr0(mij)<p)
l=mij+1;
else
r=mij-1;
}
}
return -1;
}
int main()
{
f>>p;
g<<ctbn(1,100000000);
return 0;
}
