Cod sursa(job #1548738)
| Utilizator | Data | 11 decembrie 2015 14:57:59 | |
|---|---|---|---|
| Problema | Factorial | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<cstdio>
using namespace std;
int n,p;
int zerouri(int x)
{
int s=0;
int k=5;
while(k<=x)
{
int a=x/k;
s+=a;
k*=5;
}
return s;
}
int cautbin(int val)
{
int start=0;int step=(1<<30);
for(;step;step>>=1)
{
int index=start+step;
if(zerouri(index)<=val) start=index;
}return start;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
int val=cautbin(p);
printf("%d",val-val%5);
}
