Cod sursa(job #1752497)
| Utilizator | Data | 4 septembrie 2016 06:32:54 | |
|---|---|---|---|
| Problema | Factorial | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
const long long M=1000000000;
ifstream f("fact.in");
ofstream g("fact.out");
long long p,i=0,nr5=0;
inline int n5(long long p)
{
int pow = 1, s = 0;
while ( pow * 5 <= p)
{
pow *= 5;
s += p/pow;
}
return s;
}
long long vf(long long i)
{
while(nr5<p)
{
i+=5;
if(n5(i)==p) break;
}
return n5(i)==p ? i : -1 ;
}
int main()
{
cin>>p;if(p==0) g<<1;
else
cout<<vf(i);
return 0;
}
