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

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

—  мак­си­маль­ное число встре­ча­ет­ся в стро­ке ровно один раз;

—  хотя бы одно число в стро­ке по­вто­ря­ет­ся более од­но­го раза;

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

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

За­да­ние 9

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

Ре­ше­ние.

Для на­ча­ла най­дем мак­си­маль­ное число в стро­ке, для этого вве­дем в ячей­ку G1 фор­му­лу =МАКС(A1:F1) и ско­пи­ру­ем ее до ячей­ки G6000.

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

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

и ско­пи­ру­ем ее до ячей­ки H6000.

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

=СУММ(I1:N1)

и ско­пи­ру­ем фор­му­лу до ячей­ки O6000.

В столб­це P по­счи­та­ем сред­нее ариф­ме­ти­че­ское чисел стро­ки без учета мак­си­маль­но­го числа (счи­тая по­вто­ры мак­си­маль­но­го числа), для этого в ячей­ку P1 вве­дем фор­му­лу:

=(СУММ(A1:F1)-G1*H1)/(6-H1)

и ско­пи­ру­ем ее до ячей­ки P6000.

В столб­це Q будем про­ве­рять стро­ки, в ко­то­рых мак­си­маль­ное число в стро­ке пре­вы­ша­ет сред­нее ариф­ме­ти­че­ское всех осталь­ных чисел этой стро­ки более чем в три раза, для этого в ячей­ку Q1 вве­дем фор­му­лу:

=ЕСЛИ(G1>=P1*3;1;0)

и ско­пи­ру­ем ее до ячей­ки Q6000.

В столб­це R будем пи­сать 1, если стро­ка удо­вле­тво­ря­ет всем усло­ви­ям за­да­чи, и 0  — в осталь­ных слу­ча­ях, для этого в ячей­ку R1 вве­дем фор­му­лу:

=ЕСЛИ(И(H1=1;O1>6;Q1=1);1;0)

и ско­пи­ру­ем ее до ячей­ки R6000.

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

=СУММ(R1:R6000)

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

 

Ответ: 95.

 

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

f = open('9.txt')

cnt = 0

for s in f:

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

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

suma = 0

sr = 0

if a.count(max(a)) == 1:

suma = max(a)

sr = ((sum(a)-max(a))/5)*3

if suma > sr:

cnt += 1

print(cnt)

 

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

 

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

f = open('09.txt')

count = 0

for s in f:

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

a.sort()

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

if a[-1] != a[-2]:

if int(a[-1]) > 3*(sum(a)-a[-1])/5:

count += 1

print(count)

 

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

f = open('09.csv')

cnt = 0

for s in f:

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

p=[]

for i in range(len(a)):

if a.count(max(a))==1:

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

p.append(a[i])

if len(p)>1:

if max(a)>3*((sum(a)-max(a))/(len(a)-1)):

cnt+=1

print(cnt)

 

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

 

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

f = open('09.csv')

count = 0

for s in f:

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

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

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

if max(m) in n:

if len(p) > 1:

a = sum(m) - max(m)

if max(m) > 3*a/5:

count += 1

print(count)

 

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


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