Как сократить время работы в питоне 30
a = int(
l = []
f = 0
m = []
mas = [int(el) for el in
for el in mas:
if el < 0:
el = el * -1
f += 1
l.append(el)
else:
l.append(el)
for i in range(f):
m.append(min(l) * -1)
l.remove(min(l))
print(sum(m) + sum(l))
Например, формула в D2 была такая: "=D3*A2".
Формула написана в относительных координатах, и означает:
Ячейку на 1 ниже умножить на ячейку на 3 левее и в той же строке.
При копировании формулы в ячейку E1 там появится формула: "=E2*B1".
А если в формуле присутствует знак $, то это уже абсолютная ссылка,
она от переноса не меняется. Например, "=D3*A$2".
В этом случае ссылка по первой ячейке поменяется и будет E2, а по второй ячейке поменяется только номер столбца, и получится "=E2*B$2"
Если не ошебаюсь то так ) Дан массив размера N. Найти номера тех элементов массива, которые больше своего правого соседа,
и количество таких элементов. Найденные номера выводить в порядке их возрастания.
var a,d:array[1..255]of integer;
i,c,n:byte;
begin
write('n=');
read(n);
for i:=1 to n do
begin
write('a[',i,']=');
read(a)
end;
writeln;
c:=0;
for i:=1 to n-1 do
if a>a[i+1] then
begin
c:=c+1;
d[c]:=i
end;
writeln('TaKuX EJIEMEHTOB:',c);
for i:=1 to c do write(d,' ');
writeln
end.
2) Дан целочисленный массив A размера N,являющийся перестановкой.
Найти количество инверсий в данной перестановке,т.е. таких пар Ai И Aj элементов
в которых большее число находится слева от меньшего:Ai>Aj при i<j>L) и целочисленный массив размера N.
Заменить каждую серию массива, длина которой меньше L, на один элемент с нулевым значением.
Что-то я не понял, что это за Л? Вот решил так:
var a:array[1..256]of integer;
i,j,n:byte;
c:integer;
begin
write('n=');
read(n);
for i:=1 to n do
begin
write('a[',i,']=');
read(a)
end;
writeln;
c:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if a>a[j] then inc(c);
writeln('Колличество инверсий - ',c);
end.