Pagini recente » Cod sursa (job #3215213) | Cod sursa (job #2247437) | Cod sursa (job #1555535) | Cod sursa (job #974304) | Cod sursa (job #527317)
Cod sursa(job #527317)
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.