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

В каж­дой стро­ке элек­трон­ной таб­ли­цы за­пи­са­ны пять на­ту­раль­ных чисел.

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

—  все числа в стро­ке раз­лич­ны;

—  чётных чисел боль­ше, чем нечётных;

—  сумма чётных чисел мень­ше суммы нечётных.

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

За­да­ние 9

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

Ре­ше­ние.

Сна­ча­ла будем про­ве­рять, сколь­ко раз в стро­ке встре­ча­ет­ся число. Для этого в ячей­ку F1 за­пи­шем фор­му­лу:

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

и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на F1:J6400.

В ячей­ке К1 за­пи­шем фор­му­лу =СУММ(F1:J1). Если число в ячей­ке равно 5, то в ряду все числа встре­ча­ют­ся один раз, этим мы про­ве­рим пер­вое усло­вие е от­бо­ра строк. Ско­пи­ру­ем фор­му­лу во все ячей­ки диа­па­зо­на К1:К6400.

В ячей­ку L1 за­пи­шем фор­му­лу, ко­то­рая даст 1, в слу­чае если число в ячей­ке A1 не­чет­ное, и 0, если число чет­ное:

=ОСТАТ(A1;2)

и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на L1:P1.

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

=СУММ(L1:P1).

Если сумма мень­ше 3, то в стро­ке боль­ше чет­ных чисел. Этим мы про­ве­рим вто­рое усло­вие от­бо­ра строк. Ско­пи­ру­ем её во все ячей­ки диа­па­зо­на Q1:Q6400.

В ячей­ке R1 по­счи­та­ем сумму чет­ных цифр стро­ки. Для этого за­пи­шем фор­му­лу:

=СУМ­МЕС­ЛИ(L1:P1;0;A1:E1)

и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на R1:R6400.

В ячей­ке S1 по­счи­та­ем сумму не­чет­ных цифр стро­ки. Для этого за­пи­шем фор­му­лу:

=СУМ­МЕС­ЛИ(L1:P1;1;A1:E1)

и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на S1:S6400.

В ячей­ке T1 будем по­лу­чать 1, если сумма чётных чисел мень­ше суммы нечётных, и 0 в об­рат­ном слу­чае. Для этого за­пи­шем фор­му­лу:

=ЕСЛИ(S1>R1;1;0)

и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на T1:T6400.

В ячей­ке U1 будем по­лу­чать 1, если стро­ка удо­вле­тво­ря­ет всем усло­ви­ям за­да­чи, и 0, если не вы­пол­не­ны усло­вия. Для этого за­пи­шем фор­му­лу:

=ЕСЛИ(И(T1=1;K1=5;Q1<3);1;0)

и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на U1:U6400.

Окон­ча­тель­но с по­мо­щью фор­му­лы =СУММ(U1:U6400) по­лу­чим ответ  — 241.

 

Ответ: 241.

 

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

with open('09.txt') as file:

count=0

for line in file:

n = list(map(int, line.split()))

n.sort()

if len(set(n)) == len(n) and \

sum(x % 2 == 0 for x in n) > sum(x % 2 != 0 for x in n) and \

sum(x for x in n if x % 2 == 0) < sum(x for x in n if x % 2 != 0):

count += 1

print(count)

 

При­ме­ча­ние. При­ве­ден­ный файл тре­бу­ет­ся со­хра­нить как тек­сто­вый до­ку­мент.

 

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

f=open('09.txt')

k=0

for i in f:

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

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

kch=knch=sumch=sumnch=0

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

if a[j]%2==0:

kch+=1

sumch+=a[j]

else:

knch+=1

sumnch+=a[j]

if (kch > knch) and (sumch < sumnch):

k+=1

print(k)

 

При­ме­ча­ние. При­ве­ден­ный файл тре­бу­ет­ся со­хра­нить как тек­сто­вый до­ку­мент.

 

При­ведём ре­ше­ние Сер­гея Донец на языке PascalABC.NET.

uses XLSX;

begin

var a:=ReadXLSXAsInts('52180.xlsx');

var k:=0;//ко­ли­че­ство строк

foreach var x in a do

if x.Distinct.Count = x.Count

then begin

var nech:=x.Where(n->n.isOdd).ToArray;

var chet:=x.Where(n->n.isEven).ToArray;

if chet.Count > nech.Count

then if chet.Sum < nech.Sum

then k+=1;

end;

Println(k);

end.

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


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