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

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

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

—  это число не встре­ча­ет­ся в дру­гих ячей­ках той же стро­ки;

—  это число встре­ча­ет­ся не менее 335 раз в дру­гих ячей­ках того же столб­ца;

—  это число мень­ше сред­не­го ариф­ме­ти­че­ско­го всех чисел стро­ки, в ко­то­рой оно на­хо­дит­ся (с учётом са­мо­го числа).

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

За­да­ние 9

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

Ре­ше­ние.

Сна­ча­ла про­ве­рим пер­вое усло­вие. Для этого в ячей­ку G1 вве­дем фор­му­лу:

=СЧЁТЕСЛИ($A1:$F1;A1)

и ско­пи­ру­ем эту фор­му­лу во все остав­ши­е­ся ячей­ки диа­па­зо­на G1:L30000.

Про­ве­рим вто­рое усло­вие. Для этого в ячей­ку M1 вве­дем фор­му­лу:

=ЕСЛИ(СЧЁТЕСЛИ(A:A;A1)>=336;1;0)

и ско­пи­ру­ем эту фор­му­лу во все остав­ши­е­ся ячей­ки диа­па­зо­на M1:R30000.

Про­ве­рим тре­тье усло­вие. Для этого в ячей­ку S1 вве­дем фор­му­лу, чтобы по­счи­тать сред­нее ариф­ме­ти­че­ское всех чисел стро­ки:

=СРЗНАЧ(A1:F1)

и ско­пи­ру­ем эту фор­му­лу во все остав­ши­е­ся ячей­ки диа­па­зо­на S2:S30000.

В ячей­ку T1 вве­дем фор­му­лу:

=ЕСЛИ(A1<$S1;1;0)

и ско­пи­ру­ем эту фор­му­лу во все остав­ши­е­ся ячей­ки диа­па­зо­на T1:Y30000.

Опре­де­лим уни­каль­ные ячей­ки. Для этого вв ячей­ку Z1 вве­дем фор­му­лу:

=ЕСЛИ(И(G1=1;M1=1;T1=1);1;0)

и ско­пи­ру­ем эту фор­му­лу во все остав­ши­е­ся ячей­ки диа­па­зо­на Z1:AE30000.

В ячей­ке AF по­счи­та­ем ко­ли­че­ство уни­каль­ных ячеек в стро­ке. Для этого в ячей­ку AF1 вве­дем фор­му­лу:

=СУММ(Z1:AE1)

и ско­пи­ру­ем эту фор­му­лу во все остав­ши­е­ся ячей­ки диа­па­зо­на AF1:AF30000.

Про­ве­рим, удо­вле­тво­ря­ет ли стро­ка тре­бо­ва­ни­ям за­да­чи. Для этого в ячей­ку AG1 вве­дем фор­му­лу:

=ЕСЛИ(AF1=1;1;0)

и ско­пи­ру­ем эту фор­му­лу во все остав­ши­е­ся ячей­ки диа­па­зо­на AG1:AG30000.

Окон­ча­тель­но вос­поль­зо­вав­шись фор­му­лой:

=СУММ(AG:AG),

по­лу­чим ответ  — 2969.

 

Ответ: 2969.

 

При­ме­ча­ние. В за­да­че есть усло­вие "это число встре­ча­ет­ся не менее 335 раз в дру­гих ячей­ках того же столб­ца". В ре­ше­нии учи­ты­ва­ет­ся это усло­вие. Зна­че­ние долж­но встре­ча­ет­ся в про­ве­ря­е­мой ячей­ке и в 335 дру­гих ячей­ках таб­ли­цы, всего 336 раз и более.

 

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

a = [list(map(int,s.split(';'))) for s in open('09.csv')]

atrans = [[x[i] for x in a] for i in range(6)]

adict = [{n:atrans[i].count(n) for n in set(atrans[i])} for i in range(6)]

n = 0

for x in a:

sa = sum(x)/6

t = [i for i in range(6) if x.count(x[i]) == 1 and adict[i][x[i]] >= 336 and x[i] < sa]

if len(t) == 1: n += 1

print(n)

 

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


Аналоги к заданию № 73835: 73864 Все