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

В файле на­хо­дит­ся таб­ли­ца, ко­то­рая со­дер­жит в каж­дой из строк по 7 на­ту­раль­ных чисел. Ваша за­да­ча со­сто­ит в том, чтобы по­счи­тать ко­ли­че­ство таких строк, в ко­то­рых два числа по­вто­ря­ют­ся по 2 раза, а три дру­гих раз­лич­ны, и сред­нее ариф­ме­ти­че­ское не­по­вто­ря­ю­щих­ся чисел боль­ше сред­не­го ариф­ме­ти­че­ско­го по­вто­ря­ю­щих­ся.

За­да­ние 9

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

Ре­ше­ние.

Для ре­ше­ния за­да­чи вы­пи­шем в столб­цы от H до N по­вто­ря­ю­щи­е­ся зна­че­ния. Вы­пи­шем в ячей­ку H1 фор­му­лу:

=ЕСЛИ(СЧЁТЕСЛИ( $A1:$G1;A1)=2;A1;"").

Дан­ная фор­му­ла вер­нет в ячей­ку зна­че­ние из ячей­ки A1? если оно встре­ча­ет­ся два раза. Ско­пи­ру­ем фор­му­лу на диа­па­зон H1:N16000. В ячей­ку O1 вы­пи­шем фор­му­лу =СУММ(H1:N1)/4 и ско­пи­ру­ем ее на диа­па­зон O1:O16000. В дан­ном столб­це будет сред­нее ариф­ме­ти­че­ское строк с по­вто­ря­ю­щи­ми­ся чис­ла­ми. В ячей­ку P1 вы­пи­шем фор­му­лу =ЕСЛИ(H1="";A1;"") и ско­пи­ру­ем ее на диа­па­зон P1:V16000. Дан­ная фор­му­ла вер­нет зна­че­ние в ячей­ки, если они не по­вто­ря­ют­ся. В ячей­ку W1 вы­пи­шем фор­му­лу =СРЗНАЧ(P1:V1) и ско­пи­ру­ем ее на диа­па­зон W1:W16000. В дан­ном столб­це будет сред­нее ариф­ме­ти­че­ское всех чисел стро­ки. В ячей­ке X1 про­ве­рим, что в стро­ке по 2 по­вто­ря­ю­щих­ся числа, для этого вве­дем фор­му­лу =СЧЁТЕСЛИ(H1:N1;">0") и ско­пи­ру­ем ее на диа­па­зон X1:X16000.

В столб­це Y будем счи­тать ко­ли­че­ство строк, удо­вле­тво­ря­ю­щих на­ше­му ре­ше­нию. Для этого вве­дем фор­му­лу:

=ЕСЛИ(И(X1=4;W1>O1);1;0)

и ско­пи­ру­ем ее на весь диа­па­зон Y1:Y16000. По­счи­та­ем ко­ли­че­ство строк, удо­вле­тво­ря­ю­щих на­ше­му усло­вию, фор­му­лой: =СУММ(Y1:Y16000).

 

Ответ: 96.

 

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

f = open('9.txt')

cnt = 0

for s in f:

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

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

flag = 1

sr1 = 0

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

if a.count(a[i]) == 2:

sr1 += a[i]

if a.count(a[i]) > 2:

flag = 0

break

if flag == 1:

sr2 = (sum(a)-sr1)/3

sr1 = sr1/4

if sr2 > sr1:

cnt += 1

print(cnt)


Аналоги к заданию № 59687: 59714 81793 Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 19.06.2023. Ос­нов­ная волна