Cod sursa(job #1902430)
| Utilizator | Data | 4 martie 2017 16:34:18 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <fstream>
#define ll long long
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
ll n,p;
int main()
{
ll put=1,val,aux;
fin>>p;
aux=p;
while(p>0)
{
put=1;
val=0;
while(val<=p)
{
put*=5;
val=val*5+1;
}
--val;
val/=5;
put/=5;
n+=put;
p-=val;
}
p=aux;
put=5;
val=0;
while(put<=n)
{
val=val+n/put;
put*=5;
}
if(n==0)
n=1;
if(val==p)
fout<<n;
else fout<<"-1";
return 0;
}
