Cod sursa(job #36066)
Utilizator | Ionescu Robert Marius Robytzza | Data | 22 martie 2007 21:56:28 |
---|---|---|---|
Problema | Factorial | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<fstream.h>
int main(){
ifstream fin("fact.in");
ofstream fout("fact.out");
long int P,nr,x=0,N=0;
fin>>P;
if (P==0)
fout<<1;
else
/* while (N!=P){
x+=5;
nr=x;
while (nr%5==0){
nr/=5;
N++;}
} */
N=P*5;
long int e=N;
x=0;
short y=0;
while (x<e-25) {
x+=25;
nr=x;
y=0;
while (nr%5==0){
nr/=5;
y++;}
for (short i=1;i<y;i++)
N-=5; }
if (P<0)
fout<<-1;
else
fout<<N;
fin.close();
fout.close();
return 0;
}