Cod sursa(job #2051000)
| Utilizator | Data | 28 octombrie 2017 13:45:12 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("factorial.in");
ofstream fout("factorial.out");
unsigned long long x;
long l1,l2,n,mijl,p,q,i,s;
int main()
{
fin>>n;
q=sqrt(n);
l1=1;
l2=q;
while (l1<=l2)
{
mijl=(l1+l2)/2;
x=1;
for (i=1;i<=mijl;i++)
x=x*5;
if (x>n)
l2=mijl-1;
else
{
p=mijl;
l1=mijl+1;
}
}
x=1;
for (i=1;i<=p;i++)
{
x=x*5;
s=s+n/x;
}
fout<<s;
return 0;
}
