Сначала банальный код - рабочий, но уже на больших числах будет переполнение переменной факториала. var n, i, fact, ans : integer; begin read(n); fact := 1; for i := 2 to n do fact := fact * i; while (fact mod 10 = 0) do begin ans := ans + 1; fact := fact div 10; end; writeln(ans); end.
Теперь более "умный" код, в нём использован тот факт, что простое число p входит в разложение факториала числа N = [N/p] + [N/p^2] + [N/p^3] + ..., где [x] - целая часть числа x. var n, i, fact, c, pow, ans : integer; {c - сколько раз входит в разложение числа n! цифра 5} begin read(n); pow := 5; while (pow <= n) do begin c += n div pow; pow := pow * 5; end; writeln(c); end.
begin min := 32767; max := -32768; s := 0; n := 0; Write('Введите 10 чисел через пробел '); for i := 1 to 10 do begin Read(e); if max < e then max := e; if min > e then min := e; if (e >= 100) and (e <= 999) then if (i mod 10 = 1) and (i mod 7 = 0) then begin n := n + 1; s := s + i end end; Writeln('max=', max, ', min=', min); if n > 0 then Writeln('Искомое среднее равно ', s / n:0:5) else Writeln('Нет трехзначных чисел, оканчивающихся на 1 и кратных 7') end.
А ты лайк поставь) И вообще зачем пиарить свой канал?