Задания
Версия для печати и копирования в MS Word
Тип 9 № 56537
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) и по­лу­ча­ем ответ  — 1770.

 

Ответ: 1770.

 

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

 

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

f = open('09.txt')

count = 0

for s in f:

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

p = [int(x) for x in m if m.count(x)>1]

n = [int(x) for x in m if m.count(x)==1]

if len(p)>0 and len(n)>0:

if sum(n)/len(n) < sum(p)/len(p):

count += 1

print(count)

 

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

 

При­ведём ре­ше­ние Сер­гея Ка­лу­ги­на на языке Python.

f = open('09.csv')

cnt = 0

for s in f:

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

p=[]

n=[]

for i in range(len(a)):

if a.count(a[i]) > 1 and len(set(a)) < 6:

p.append(a[i])

else:

n.append(a[i])

if len(p) > 0 and len(n) > 0:

if sum(n)/len(n) < sum(p)/len(p):

cnt += 1

print(cnt)

 

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

 

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


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