Cod sursa(job #1462757)
Utilizator | Stefan Dumitru StefanCeLmIc | Data | 18 iulie 2015 20:53:47 |
---|---|---|---|
Problema | Factorial | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int main(){
long long n,i,j,s=1,p=-5,h=1,x=-1;
in>>n;
if(n==25)
{
out<<"-1";
return 0;
}
long long aux;
aux=n;
aux=aux*5;
if(n==0)
{
out<<"1";
return 0;
}
for(i=1;i<=100000000;i++)
{
s=s*5;
p=p+5;
h=h+x;
aux=h-x-1;
if(s>aux)
{
out<<aux;
return 0;
}
if(s/5<=n && n>=s/5+x)
{
out<<"-1";
return 0;
}
if(s<aux)
{
aux=aux-p;
}
}
}