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

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

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

—  число в дан­ной ячей­ке боль­ше не встре­ча­ет­ся в дан­ной стро­ке;

—  число в дан­ной ячей­ке встре­ча­ет­ся в дан­ном столб­це, вклю­чая дан­ную ячей­ку, мень­ше 170 раз.

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

За­да­ние 9

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

Ре­ше­ние.

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

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

и ско­пи­ру­ем ее на диа­па­зон G1:L16000.

Най­дем, сколь­ко раз числа по­вто­ря­ют­ся в столб­це. Для этого в ячей­ку M1 вве­дем фор­му­лу:

=СЧЁТЕСЛИ(A$1:A$16000;A1)

и ско­пи­ру­ем ее на диа­па­зон M1:R16000.

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

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

и ско­пи­ру­ем ее на диа­па­зон S1:X16000.

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

=ЕСЛИ(СУММ(S1:X1)>3;1;0)

и ско­пи­ру­ем ее на диа­па­зон Y1:Y16000.

Окон­ча­тель­но на­хо­дим ко­ли­че­ство ис­ко­мых строк. Для этого за­пи­сы­ва­ем сле­ду­ю­щее:

=СУММ(Y1:Y16000)

и по­лу­ча­ем ответ 10422.

 

Ответ: 10422.

 

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

f = open('09.csv')

k = 0

arow = [[int(x) for x in s.split(';')] for s in f]

acol = [[arow[i][j] for i in range(len(arow))] for j in range(6)]

for i in range(len(arow)):

kint = 0

for j in range(6):

x = arow[i][j]

if arow[i].count(x) == 1 and acol[j].count(x) < 170:

kint += 1

if kint >= 4:

k += 1

print(k)

 

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


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