Python 3 нужно написать программу которая будет вычислять факториал 100000 и после него выводить количество нулей в конце данного факториала, а также время за которое исполняется программа алгоритм должен выполниться быстрее чем приведенный ниже как минимум в 1.5 раза
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var a:=ArrRandomReal(28,0.001,2); a.Println; Writeln(NewLine,'P=',a.Where(x->x<1.0).Aggregate(1.0,(p,x)->p*x)) end.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 procedure MatPrint(a:array[,] of integer); begin for var i:=0 to Length(a,0)-1 do begin for var j:=0 to Length(a,1)-1 do Write(a[i,j]:4); Writeln end end;
procedure MatReplaceOdd(a:array[,] of integer; value:integer); begin for var i:=0 to Length(a,0)-1 do for var j:=0 to Length(a,1)-1 do if a[i,j].IsOdd then a[i,j]:=value end;
begin var n,m:integer; Write('Задайте число строк и столбцов матрицы: '); Read(n,m); var a:=MatrixRandom(n,m,-99,99); Writeln('Исходный массив'); MatPrint(a); MatReplaceOdd(a,26); Writeln('Результирующий массив'); MatPrint(a) end.
import time
start_time = time.time()
y = int()
fct = int(1)
z = int(0)
for i in range(1, 100001):
fct *= i
y = i
while ((y % 5) == 0):
z += 1
y /= 5
print(fct)
print(z)
print("--- %s seconds ---" % (time.time() - start_time))
input()