Cod sursa(job #2782368)
| Utilizator | Data | 12 octombrie 2021 11:52:09 | |
|---|---|---|---|
| Problema | Factorial | Scor | 5 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.96 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int n,p,i;
bool iesire=1,corect;
int hehe(int nr)
{
int cate=0;
while (nr/5!=0&&cate<=p)
{
cate+=nr/5;
nr/=5;
}
return cate;
}
int factorial(int p)
{
int cate,nr=p*4-(p*4)%5;
if(p==0)
return 1;
else
{
while(!iesire&&!corect)
{
cate=hehe(nr);
if(cate > p)
{
iesire=0;
}
else if(cate == p)
{
corect = true;
}
else
{
if(nr >= 5)
nr+=5;
else
nr++;
cate=0;
}
}
}
if(iesire==0)
return -1;
else
return nr;
}
int main()
{
in>>p;
out<<factorial(p);
return 0;
}
