Cod sursa(job #6223)
Utilizator | Data | 18 ianuarie 2007 15:25:32 | |
---|---|---|---|
Problema | Factorial | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<fstream.h>
#define input "fact.in"
#define output "fact.out"
int main()
{
long long h,x,p;
int gr;
ifstream fin(input);
ofstream fout(output);
fin>>p;
x=p;
h=1;
gr=0;
if(p>=1)
{
while(h*5+1<=p)
{
h=(h*5)+1;
gr++;
}
if((p+gr)>=(h*5))
fout<<"-1"<<"\n";
else
{
while(h!=1)
{
x-=(x/h);
h--;
h=h/5;
}
fout<<x*5;
}
}
else
if(p==0)
fout<<"1";
fout<<"\n";
return 0;
}