Cod sursa(job #966990)
Utilizator | Cretu Bogdan reking | Data | 26 iunie 2013 21:22:34 |
---|---|---|---|
Problema | Factorial | Scor | 0 |
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 k,i,sum;
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;
}