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

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

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

—  в стро­ке есть как по­вто­ря­ю­щи­е­ся, так и не­по­вто­ря­ю­щи­е­ся числа;

—  сред­нее ариф­ме­ти­че­ское всех не­по­вто­ря­ю­щих­ся чисел стро­ки боль­ше, чем сред­нее ариф­ме­ти­че­ское всех по­вто­ря­ю­щих­ся чисел этой стро­ки.

При вы­чис­ле­нии сред­них зна­че­ний каж­дое число учи­ты­ва­ет­ся столь­ко раз, сколь­ко оно встре­ча­ет­ся в стро­ке.

В от­ве­те за­пи­ши­те число  — ко­ли­че­ство строк, для ко­то­рых вы­пол­не­ны эти усло­вия.

За­да­ние 9

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

Ре­ше­ние.

Для на­ча­ла по­счи­та­ем, сколь­ко раз встре­ча­ет­ся то или иное число в строк, для этого в ячей­ку G1 впи­шем =СЧЁТЕСЛИ($A1:$F1; A1) и рас­тя­нем до ячей­ки L1 и вниз, до са­мо­го конца таб­ли­цы. Те­перь най­дем ко­ли­че­ство удо­вле­тво­ря­ю­щих нас строк, впи­шем

=ЕСЛИ(И(СУММ(G1:L1)>6; ИЛИ(G1=1; H1 = 1; I1 = 1; J1 = 1; K1 = 1; L1 = 1)); 1; 0)

в ячей­ку M1.

Най­дем те­перь сред­нее ариф­ме­ти­че­ское по­вто­ря­ю­щих­ся и не­по­вто­ря­ю­щих­ся чисел. В ячей­ку N1 впи­сы­ва­ем:

=ЕСЛИ(G1 = 1; A1; " ")

и про­тя­ги­ва­ем до S1 и до конца таб­ли­цы. В ячей­ку T1 за­пи­сы­ва­ем:

=ЕСЛИ(M1 = 1; СРЗНАЧ(N1:S1);" ").

Ана­ло­гич­но на­хо­дим сред­нее ариф­ме­ти­че­ское для по­вто­ря­ю­щих­ся чисел (для них =ЕСЛИ(G1 > 1; A1; " ")).

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

=ЕСЛИ(T1 > AA1; 1; " ")

и про­тя­ги­ва­ем до конца таб­ли­цы. На­хо­дим сумму с по­мо­щью фор­му­лы =СУММ(AB1:AB6400) и по­лу­ча­ем ответ  — 2102.

 

Ответ: 2102.

 

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

count = 0

for s in open('9.txt'):

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

A = [x for x in M if M.count(x) > 1]

B = [x for x in M if M.count(x) == 1]

if len(B) > 0 and len(A) > 0:

if (sum(B) / len(B)) > (sum(A) / len(A)):

count += 1

print(count)

 

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

При­ме­ча­ние 2. В файле при­ве­ден­но­го за­да­ния Стат­Град ис­поль­зу­ют­ся нули, что про­ти­во­ре­чит опре­де­ле­нию «на­ту­раль­ные числа». Дан­ная опе­чат­ка не вли­я­ет на ответ.

 

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

f = open('09.txt')

cnt = 0

for i in f:

a = list(map(int,i.split()))

if len(a) != len(set(a)):

sr1 = 0

k1 = 0

sr2 = 0

k2 = 0

for j in range (0,len(a)):

if a.count(a[j]) == 1:

sr1 += a[j]

k1 += 1

else:

sr2 += a[j]

k2 += 1

if k1!=0 and k2!=0:

if (sr1/k1)>(sr2/k2):

cnt += 1

print(cnt)


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