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

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

—  среди семи чисел сов­па­да­ют ровно че­ты­ре числа;

—  сред­нее зна­че­ние не­по­вто­ря­ю­щих­ся чисел боль­ше суммы по­вто­ря­ю­щих­ся чисел.

В от­ве­те за­пи­ши­те толь­ко число.

За­да­ние 9

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

Ре­ше­ние.

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

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

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

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

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

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

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

 

Ответ: 7.

 

При­ведём ре­ше­ние Ми­ха­и­ла Глин­ско­го на языке Python.

f=open('За­да­ние 9.txt')

k=0

for x in f:

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

s.sort()

spov = sn = 0

for y in s:

if s.count(y) == 4:

spov=y*4

sn = sum(s) - spov

sn=sn/3

if sn > spov:

k += 1

print(k)

 

При­ведём ре­ше­ние Ми­ха­и­ла Глин­ско­го на языке Python.

k=0

for s in open('За­да­ние 9.txt'):

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

m.sort()

n=set(m)

if len(n) == 4:

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

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

sr = sum(nep)/len(nep)

if sr > sum(pov):

k+=1

print(k)

 

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

 

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

f = open('За­да­ние 9.csv')

cnt = 0

for s in f:

p=[]

n=[]

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

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

for i in range(len(a)):

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

p.append(a[i])

else:

n.append(a[i])

if len(p)==4 and len(n)==3:

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

cnt+=1

print(cnt)

 

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


Аналоги к заданию № 59778: 59779 59780 Все

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