Cod sursa(job #966994)
Utilizator | Data | 26 iunie 2013 21:24:07 | |
---|---|---|---|
Problema | Factorial | Scor | 25 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <iostream>
#include <fstream>
#include <math.h>
#define NMax 100000001
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int ciur[NMax],p;
int main ()
{
long long i,k=5,sum=0;
f>>p;
while (k<=p*5)
{
for (i=0;i<=p*5;i=i+k) ciur[i]++;
k=k*5;
}
for (i=1;i<=p*5 && sum<p;i++)
sum=sum+ciur[i];
if (p==0) g<<1;
else if (sum>p) g<<-1;
else g<<i-1;
}