Задания
Версия для печати и копирования в MS Word
Тип 9 № 84671
i

От­крой­те файл элек­трон­ной таб­ли­цы, со­дер­жа­щей в каж­дой стро­ке шесть на­ту­раль­ных чисел.

За­да­ние 9

Опре­де­ли­те сумму чисел в стро­ке таб­ли­цы с наи­боль­шим но­ме­ром, со­дер­жа­щей числа, для ко­то­рых вы­пол­не­ны оба усло­вия:

—  в стро­ке все числа рас­по­ло­же­ны в по­ряд­ке воз­рас­та­ния;

—  ко­ли­че­ство чётных и нечётных чисел в стро­ке оди­на­ко­во.

В от­ве­те за­пи­ши­те толь­ко одно число.

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

otv = []

f = open('9.csv')

for s in f:

a = list(map(int,s.split(' ')))

cet = [i for i in a if i%2 == 0]

necet = [i for i in a if i%2 != 0]

if a[0] < a[1] < a[2] < a[3] < a[4] < a[5]:

if len(cet) == len (necet):

otv.append(sum(a))

print(otv[-1])

 

При­ме­ча­ние. Файл сле­ду­ет со­хра­нить в фор­ма­те CSV.

 

Ответ: 1509.

 

При­ведём ре­ше­ние Бо­ри­са Са­ве­лье­ва на языке Python.

f = open('9.txt')

for i in f:

a=([int(x) for x in i.split()])

if len(set(a))==len(a) and a==sorted(a):

k1=0

k2=0

for j in range (len(a)):

if a[j]%2==0:

k1+=1

else:

k2+=1

if k1==k2:

k=sum(a)

print(k)

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

for стро­ка in open('9.csv'):

числа = list(map(int, стро­ка.split(';')))

if числа == sorted(set(числа)) and sum(x%2 for x in числа) == 3:

ответ = sum(числа)

print(ответ)

 

При­ме­ча­ние. Файл сле­ду­ет со­хра­нить в фор­ма­те CSV.

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва в LibreOffice Calc.

От­кры­ва­ем файл с дан­ны­ми.

В ячей­ку G1 впи­сы­ва­ем фор­му­лу =A1 < B1 и ко­пи­ру­ем её в ячей­ки H1:K1.

В ячей­ку L1 впи­сы­ва­ем фор­му­лу =И(G1:K1). Если в этой ячей­ке «Ис­ти­на», то числа в стро­ке рас­по­ло­же­ны в по­ряд­ке воз­рас­та­ния.

В ячей­ку M1 впи­сы­ва­ем фор­му­лу =ОСТАТ(A1;2) и ко­пи­ру­ем её в ячей­ки N1:R1.

В ячей­ку S1 впи­сы­ва­ем фор­му­лу =СУММ(M1:R1)=3. Если в этой ячей­ке «Ис­ти­на», то в стро­ке три нечётных числа.

В ячей­ку T1 впи­сы­ва­ем фор­му­лу =ЕСЛИ(И(L1;S1);СУММ(A1:F1);"").

Раз­мно­жа­ем стро­ку G1:T1 до конца дан­ных в таб­ли­це.

Вы­зы­ва­ем Стан­дарт­ный фильтр (меню Дан­ные) и про­пи­сы­ва­ем в нём усло­вие: в столб­це T число >0.

На экра­не остаётся пять строк, число 1509 в столб­це T в ниж­ней стро­ке (№ 7169) - это и есть наш ответ.