Pagini recente » Cod sursa (job #2228136) | Cod sursa (job #2825908) | Cod sursa (job #2682406) | Cod sursa (job #2610446) | Cod sursa (job #1794362)
#include <bits/stdc++.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long x=0;
vector<long long> cc(20);
void cinci()
{
cc[0]=5;
for(long long i=1; i<20; ++i)
{
cc[i]=cc[i-1]*5;
}
}
long long ff(long long n){
long long rez = 0;
while(n)
{
rez+=n/5;
n/=5;
}
return rez;
};
long long fact(long long n, long long put)
{
long long rez=0;
while(n%put==0)
{
rez++;
n/=put;
}
return rez;
}
int main()
{
long long n,nn;
f>>n;
nn=n;
if(n==0)
{
g<<1;
return 0;
}
cinci();
for(long long i=0; i<20; ++i)
{
n-=fact(n,cc[i]);
}
if(ff(n*5)==nn)
{
g<<n*5;
}
else
g<<-1;
return 0;
}
// 5 10 15 20 25 30 35 40 45 50
// 1 2 3 4 6 7 8 9 10 12