Pagini recente » Istoria paginii runda/dot_php/clasament | Cod sursa (job #1337631) | Cod sursa (job #1797650) | Cod sursa (job #979261) | Cod sursa (job #527313)
Cod sursa(job #527313)
PROGRAM FACTORIAL; {~~~METODA CLASICA~~~}
{------------------------------------------------}
FUNCTION NR_FACT_5(K:LONGINT):BYTE;
{Returneaza numarul factorilor de 5 din descompunerea numarului K.}
VAR NR:BYTE;
BEGIN
NR:=0;
WHILE (K MOD 5 = 0) DO BEGIN
NR:=NR+1;
K:=K DIV 5;
END;
NR_FACT_5:=NR;
END;
{------------------------------------------------}
VAR N,P,NR0:LONGINT;
F,G:TEXT;
BEGIN
ASSIGN(F,'FACT.IN'); RESET(F);
ASSIGN(G,'FACT.OUT'); REWRITE(G);
READ(F,P);
IF (P=0) THEN N:=1
ELSE N:=0;
NR0:=0; {NR0= nr. cifrelor de zero de la finalul lui N factorial!}
WHILE (NR0<P) DO BEGIN
N:=N+5;
NR0:=NR0 + NR_FACT_5(N);
END;
IF (NR0=P) THEN WRITE(G,N)
ELSE WRITE(G,-1);
CLOSE(F); CLOSE(G);
END.