Между населёнными пунктами А, В, С, D. построены дороги, протяжённость которых (в километрах) приведена в таблице слева. Определи длину кратчайшего пути между пунктами А и В. проходящего через пункт С. Передвигаться можно только по дорогам, протяжённость которых указана в таблице.
1) -165
2) 3
3) -214277011200
4) 0
5) 3 6 9 12 15 18 21 24 27 30
код:
n = []
for i in range(-30, 31, 3):
if i != 0:
n.append(i)
x1, x2, x3, x4, x5 = 0, 0, 1, 0, []
mine = 0
maxe = 0
pos = 0
for i in n:
pos += 1
if i < 0:
x1 += i
if i % 5 == 0 and i < 20:
x2 += 1
if pos % 2 == 0:
x3 *= i
if pos == 1:
mine = i
elif pos == 20:
maxe = i
if i % 3 == 0 and i > 0:
x5.append(str(i))
x4 = mine + maxe
print(' '.join(x5))
1. 55
2. 21
Объяснение:
1.
for i:=1 to 10 do a[i]:=i; - заполнение массива (элемент равен своему индексу)
i = 1 a[1] = 1
i = 2 a[2] = 2
i = 3 a[3] = 3
i = 4 a[4] = 4
i = 5 a[5] = 5
i = 6 a[6] = 6
i = 7 a[7] = 7
i = 8 a[8] = 8
i = 9 a[9] = 9
i = 10 a[10] = 10
for i:=1 to 10 do write ('a[',i,']=',a[i],' '); - вывод элементов массива на экран (в одну строку в виде a[1]=1 a[2]=2 и т.д.)
s = 0
s = s + a[i] (считаем сумму элементов)
s = 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
2.
for i:=1 to 10 do a[i]:=i+1; - заполнение массива (элемент равен своему индексу плюс единица)
i = 1 a[1] = 1 + 1 = 2
i = 2 a[2] = 2 + 1 = 3
i = 3 a[3] = 3 + 1 = 4
i = 4 a[4] = 4 + 1 = 5
i = 5 a[5] = 5 + 1 = 6
for i:=1 to 10 do write ('a[',i,']=',a[i],' '); - вывод элементов массива на экран (в одну строку в виде a[1]=1 a[2]=2 и т.д.)
s = 1
s = s + a[i] (считаем сумму элементов, учитывая начальное значение s)
s = 1 + 2 + 3 + 4 + 5 + 6 = 21