В каждой строке электронной таблицы записаны пять натуральных чисел.
Определите, сколько в таблице строк, для которых выполнены следующие условия:
— все числа в строке различны;
— чётных чисел больше, чем нечётных;
— сумма чётных чисел меньше суммы нечётных.
В ответе запишите число — количество строк, для которых выполнены эти условия.
Решение. Сначала будем проверять, сколько раз в строке встречается число. Для этого
=СЧЁТЕСЛИ($A1:$E1;A1)
и скопируем её во все ячейки
=ОСТАТ(A1;2)
и скопируем её во все ячейки
=СУММ(L1:P1).
Если сумма
=СУММЕСЛИ(L1:P1;0;A1:E1)
и скопируем её во все ячейки
=СУММЕСЛИ(L1:P1;1;A1:E1)
и скопируем её во все ячейки
=ЕСЛИ(S1>R1;1;0)
и скопируем её во все ячейки
=ЕСЛИ(И(T1=1;K1=5;Q1<3);1;0)
и скопируем её во все ячейки
Окончательно с помощью формулы
Ответ: 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.
PDF-версии: 