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

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

За­да­ние 9

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

—  наи­мень­шее из четырёх чисел более чем в шесть раз мень­ше суммы трёх дру­гих;

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

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

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

Ре­ше­ние.

По­счи­та­ем ко­ли­че­ство ячеек, удо­вле­тво­ря­ю­щих усло­ви­ям. В ячей­ку E1 вве­дем фор­му­лу =МИН(A1:D1) для на­хож­де­ния ми­ни­маль­но­го зна­че­ния. Ско­пи­ру­ем фор­му­лу на весь диа­па­зон E1:E1000. В ячей­ку F1 вве­дем фор­му­лу =СУММ(A1:D1)-МИН(A1:D1) для по­ис­ка суммы остав­ших­ся трех чисел. Ско­пи­ру­ем фор­му­лу на весь диа­па­зон F1:F1000. В ячей­ку G1 вве­дем фор­му­лу =ЕСЛИ(F1>6*E1;1;0) для по­ис­ка ячеек удо­вле­тво­ря­ю­щих пер­во­му усло­вию. Ско­пи­ру­ем фор­му­лу на весь диа­па­зон G1:G1000. Для по­ис­ка ячеек удо­вле­тво­ря­ю­щих вто­ро­му усло­вию в ячей­ку H1 вве­дем фор­му­лу:

=ЕСЛИ(МАКС(A1:D1)*МИН(A1:D1)>НАИ­БОЛЬ­ШИЙ(A1:D1;2)*НАИ­МЕНЬ­ШИЙ(A1:D1;2);1;0).

Cко­пи­ру­ем фор­му­лу на весь диа­па­зон H1:H1000. Если зна­че­ние в ячей­ках по столб­цам G и H равны 1, то такая стро­ка удо­вле­тво­ря­ет двум усло­ви­ям. Для по­ис­ка таких строк в ячей­ку I1 вве­дем фор­му­лу:

=ЕСЛИ(И(G1=1;H1=1);1;0)

и ско­пи­ру­ем фор­му­лу на весь диа­па­зон I1:I1000. Те­перь найдём ко­ли­че­ство строк, удо­вле­тво­ря­ю­щих усло­вию, введя фор­му­лу =СУММ(I1:I1000). Тогда ответ  — 118.

 

Ответ: 118.

 

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

count = 0

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

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

if (6 * M[0]) < (M[1] + M[2] + M[3]):

if (M[3] * M[0]) > (M[1] * M[2]):

count += 1

print(count)

 

При­ведём ре­ше­ние Артёма Божко на языке Python.

f = open('9_58321.txt')

f = f.readlines()

sp = []

k = 0

for i in f:

sp.append(i.replace('\n', '').split())

for j in sp:

i = list(map(int, j))

i.sort()

a = int(i[0])

b = int(i[1])

c = int(i[2])

d = int(i[3])

if (a*6 < sum([b, c, d])) and (a*d > b*c):

k += 1

print(k)