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

В каж­дой стро­ке элек­трон­ной таб­ли­цы за­пи­са­ны во­семь на­ту­раль­ных чисел.

Число в стро­ке счи­та­ет­ся за­мет­ным, если оно стро­го боль­ше сред­не­го ариф­ме­ти­че­ско­го всех чисел стро­ки.

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

—  ко­ли­че­ство за­мет­ных чётных чисел в стро­ке мень­ше ко­ли­че­ства за­мет­ных нечётных чисел в стро­ке;

—  сумма всех чётных чисел стро­ки боль­ше суммы всех нечётных чисел стро­ки.

За­да­ние 9

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

Ре­ше­ние.

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

f = open('099.txt')

count = 0

for s in f:

m = [int(x) for x in s.split()]

cet = [x for x in m if x%2 == 0]

necet = [x for x in m if x%2 != 0]

zametnoe = [x for x in m if x > sum(m)/8]

zametnoe_cet = [x for x in zametnoe if x%2 == 0]

zametnoe_necet = [x for x in zametnoe if x%2 != 0]

if len(zametnoe_cet) < len(zametnoe_necet):

if sum(cet) > sum (necet):

count += 1

print(count)

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

 

 

Ответ: 218.

 

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

# Не­об­хо­ди­мо пред­ва­ри­тель­но со­хра­нить дан­ные из таб­ли­цы LibreOffice Calc

# в файл .csv с раз­де­ли­те­лем ';'

ответ = 0

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

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

    за­мет­ные = [x%2 for x in числа if 8*x > sum(числа)]

    чет­ные = [x for x in числа if x%2 == 0]

    if за­мет­ные.count(0) < за­мет­ные.count(1) and 2*sum(чет­ные) > sum(числа): ответ += 1

print(ответ)

 

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

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

В ячей­ку I1 впи­сы­ва­ем фор­му­лу =ЕСЛИ(A1>СРЗНАЧ($A1:$H1);ОСТАТ(A1;2);-1) и ко­пи­ру­ем её в ячей­ки J1:P1.

(Для за­мет­ных нечётных чисел фор­му­ла дает 1, для чётных 0, а для «не­за­мет­ных» -1.)

В ячей­ку Q1 впи­сы­ва­ем фор­му­лу =ЕСЛИ(ОСТАТ(A1;2)=0;A1;"") и ко­пи­ру­ем её в ячей­ки R1:X1.

(В ячей­ки Q1;X1 пе­ре­но­сят­ся толь­ко чётные числа.)

В ячей­ку Y1 впи­сы­ва­ем фор­му­лу =СЧЁТЕСЛИ(I1:P1;0)<СЧЁТЕСЛИ(I1:P1;1) - это пер­вое усло­вие.

В ячей­ку Z1 впи­сы­ва­ем фор­му­лу =2*СУММ(Q1:X1)>СУММ(A1:H1) - это вто­рое усло­вие.

В ячей­ку AA1 впи­сы­ва­ем фор­му­лу =И(Y1:Z1) - это вы­пол­не­ние обоих усло­вий.

Раз­мно­жа­ем стро­ку I1:AA1 до конца дан­ных.

В ячей­ку AB1 впи­сы­ва­ем фор­му­лу =СУММ(AA:AA) - тем самым мы под­счи­ты­ва­ем ко­ли­че­ство зна­че­ний «ис­ти­на» в столб­це AA.

По­лу­ча­ем ответ 218.