9.02 Количество строк, удовлетворяющих условию
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке четыре натуральных числа. Определите количество строк таблицы, содержащих числа, для которых выполнено условие:
– среди четырёх чисел есть только одна пара равных чисел, остальные числа различны.
В ответе запишите только число.
Решение Excel:
С помощью формулы =НАИМЕНЬШИЙ отсортируем числа в строке по возрастанию:
Теперь проверим на равенство соседние числа. В столбец I впишем формулу: =ЕСЛИ и растянем её
вправо до столбца К и все три полученные формулы растянем вниз до конца таблицы. В столбце L посчитаем сумму
значений столбцов I:K. Чтобы наше условие было выполнено, она должны быть равна 1. Воспользуемся формулой:
=ЕСЛИ(СУММ
.
Осталось определить количество строк. Для этого воспользуемся формулой: =СУММ.
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: a = [int(x) for x in line.split()] if len(set(a)) == 3 and any(a.count(x) == 2 for x in a): count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел.
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
— каждое число в строке встречается по одному разу,
— утроенная сумма максимального и минимального значений не превышает удвоенной суммы оставшихся чисел.
В ответе запишите только число.
Решение Excel:
Сначала будем проверять сколько раз в строке встречается число. Для этого в ячейку F1 запишем формулу
=СЧЁТЕСЛИ(E1,A1) и скопируем её во все ячейки диапазона
.
В ячейке К1 запишем формулу =СУММ(F1:J1). Если число в ячейке равно 5, то в ряду все числа встречаются один раз. Скопируем формулу во все ячейки диапазона К1:К3200.
В ячейке L1 посчитаем утроенную сумму максимального и минимального значений. Для этого в ячейку L1 запишем
формулу =ЕСЛИ(K1=5,3*(МАКС(A1:E1)+МИН(A1:E1)),0) и скопируем её во все ячейки диапазона
.
В ячейке M1 посчитаем удвоенную сумму оставшихся чисел. Для этого в ячейку M1 запишем формулу
=ЕСЛИ(K1=5,2*(СУММ(A1:E1)-МАКС(A1:E1)-МИН(A1:E1)),0) и скопируем её во все ячейки диапазона
.
В ячейке N1 будем выписывать 1, если ряд подходит под условие задачи и 0 если не подходит. Для этого в ячейку
N1 запишем формулу =ЕСЛИ(K1=5,ЕСЛИ(L1<=M1,1,0),0) и скопируем её во все ячейки диапазона
.
Окончательно, с помощью формулы =СУММ(N1:N3200) получим ответ — .
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: a = [int(x) for x in line.split()] if len(set(a)) == 5 and 3 * (max(a) + min(a)) <= 2 * (sum(a) - max(a) - min(a)): count += 1 print(count)
Ошибка.
Попробуйте повторить позже
В файле электронной таблицы в каждой строке содержатся три натуральных числа. Определите количество строк таблицы, содержащей числа, для которых выполнено хотя бы одно из условий:
– разность максимального и минимального чисел не более 30;
– произведение среднего (по величине) и минимального не более 800.
Решение Excel:
Первым шагом в столбец запишим разность минимального и максимального, для этого в ячейку
напишем
формулу, а затем растянем ее на все строки:
=МАКС(A1:C1)-МИН(A1:C1)
Теперь в столбец запишим формулу для поиска произведения третьего на минимальное. Запишем формулу в
ячейку
, а затем растянем ее:
=(СУММ(A1:C1)-МИН(A1:C1)-МАКС(A1:C1))*МИН(A1:C1)
А теперь в столбец запишем условие поиска. Будем возвращать 1, если строка подходит под условие и 0, если не
подходит. Запишем формулу в ячейку
, а затем растянем ее на все строки:
=ЕСЛИ(ИЛИ(D1<=30;E1<=800);1;0)
Теперь просто найдем сумму значений в столбце . Результат этой формулы и есть ответ на задачу.
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: a = sorted([int(x) for x in line.split()]) if a[2] - a[0] <= 30 or a[1] * a[0] <= 800: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
В файле электронной таблицы в каждой строке содержатся пять натуральных чисел. Определите количество строк таблицы, в которых есть разность максимального и минимального чисел.
Например в строке, состоящей из чисел 4 11 3 9 12, разница максимального и минимального 12-3=9. В этой строке есть число 9, значит эта строка подходит.
А в строке, состоящей из чисел 1 2 3 4 6, разница максимального и минимального 6-1=5. В этой строке нет числа 5, значит эта строка не подходит.
Решение Excel:
Сначала найдем разность минимамльного и максимального, для этого запишем в ячейку формулу, а затем
растянем ее на все строки:
=МАКС(A1:E1)-МИН(A1:E1)
Теперь напишем условие поиска, нам нужно проверить, равна ли хоть одно значение в строке той разнице, которую
мы получили ранее, если да, то возвращаем 1, если нет, то 0. Запишем формулу в ячейку , а затем растянем ее на
все строки:
=ЕСЛИ(ИЛИ(A1=F1;B1=F1;C1=F1;D1=F1;E1=F1);1;0)
Осталось только найти сумму по столбцу . Результат этой формулы и есть ответ на задачу.
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: a = [int(x) for x in line.split()] diff = max(a) - min(a) if diff in a: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
В файле электронной таблицы в каждой строке содержатся пять натуральных чисел. Определите количество строк таблицы, содержащей числа, для которых выполнены оба условия:
– в строке все числа уникальные;
– среднее арифметическое двух максимальных не больше суммы 3 минимальных.
Решение Excel:
Первым шагом отсортируем числа в строке по возрастанию. Для этого в ячейки запишем
соответствующие формулы:
=НАИМЕНЬШИЙ(A1:E1;1)
=НАИМЕНЬШИЙ(A1:E1;2)
=НАИМЕНЬШИЙ(A1:E1;3)
=НАИМЕНЬШИЙ(A1:E1;4)
=НАИМЕНЬШИЙ(A1:E1;5)
Проверим уникальность каждого числа. Для этого в ячейку запишем формулу, которая считает количество
повторений числа из ячейки
в диапазоне
:
=СЧЁТЕСЛИ($F1:$J1;F1)
Растянем эти 5 формул на все строки. Для того чтобы определить, является ли каждое число уникальным, найдем
сумму ячеек в диапазоне , если все числа уникальные, то сумма будет равна 5.
Остается только найти среднее арефметическое двух максимальных и сумму 3 минимальных. Так как у нас числа
отсортированы в порядке возрастания, то это легко сделать. Запишем формулу для поиска среднего арефметического
двух максимальных в ячейку . А в ячейку
формулу для поиска суммы 3 минимальных. Растянем формулы на
все строки.
Осталость только записать условие, в ячейку запишем формулу и растянем ее на все строки:
=ЕСЛИ(И(P1=5;Q1<=R1);1;0)
В любую свободную ячейку запишем формулу поиска суммы по столбцу . Результат этой формулы и будет
ответом на задачу.
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: a = [int(x) for x in line.split()] sorted_a = sorted(a) if len(set(a)) == 5: if (sorted_a[3] + sorted_a[4]) / 2 <= sum(sorted_a[:3]): count += 1 print(count)
Ошибка.
Попробуйте повторить позже
В каждой строке электронной таблицы содержится 3 натуральных числа. Необходимо найти количество строк, где выполняется ровно одно из условий:
- сумма минимального и среднего (по значению) чисел в строке больше чем максимальное число в файле.
- сумма всех чисел в строке четная.
В ответе запишите только одно число - количество подходящих строк.
Решение Excel:
Сначала найдем максимальное значение в файле, запишем формулу =МАКС(A:C) в ячейку H1.
Теперь в ячейке D1 запишем формулу, которая будет проверять первое условие для первой строки:
=ЕСЛИ(СУММ(A1:C1)-МАКС(A1:C1)>1;1;0)
Теперь в ячейке E1 запишем формулу, которая будет проверять второе условие для первой строки:
=ЕСЛИ(ОСТАТ(СУММ(A1:C1);2)=0;1;0)
Теперь в ячейку F1 запишем формулу, которая будет возвращать 1, если в строке выполняется ровно 1 условие и 0, если в строке выполняется 0 или 2 условия.
=ЕСЛИ(D1+E1=1;1;0)
Остается растянуть формулы в ячейках D1, E1, F1 на весь диапазон, а затем найти сумму по столбцу F.
Решение программой:
f = open(’9.txt’, ’r’) data = [list(map(int, line.split())) for line in f.readlines()] max_value = max(max(row) for row in data) count = 0 for row in data: row_sorted = sorted(row) cond1 = sum(row_sorted[:2]) > max_value cond2 = sum(row) % 2 == 0 if cond1 + cond2 == 1: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
- каждое число в строке встречается по одному разу,
- утроенная сумма максимального и минимального значений не превышает удвоенной суммы оставшихся чисел.
В ответе запишите только число.
Решение Excel:
Для того, чтобы определить, сколько раз каждое число встречается в строке, в ячейку F1 запишем формулу =СЧЁТЕСЛИ($A1:$E1;A1) и растянем на диапазон F1:J1, когда каждое число в строке встречается ровно один раз, сумма этого диапазона равна 5.
В ячейке K1 запишем формулу, которая проверяет сумму диапазона F1:J1, а так же выполнение второго условия:
=ЕСЛИ(И(СУММ(F1:J1)=5;(МАКС(A1:E1)+МИН(A1:E1))*3<=(СУММ(A1:E1)-МАКС(A1:E1)-МИН(A1:E1))*2);1;0)
Растянем формулы в ячейках F1:K1 на весь диапазон. Остается только найти сумму по столбцу K.
Решение программой:
f = open(’9.txt’, ’r’) data = [list(map(int, line.split())) for line in f.readlines()] count = 0 for row in data: if len(set(row)) == len(row): row_sorted = sorted(row) if 3 * (row_sorted[0] + row_sorted[-1]) <= 2 * sum(row_sorted[1:-1]): count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
- в строке только одно число повторяется ровно два раза, остальные числа различны;
- среднее арифметическое неповторяющихся чисел строки не больше суммы повторяющихся чисел. В ответе запишите только число.
Решение Excel:
Для того, чтобы определить, сколько раз каждое число встречается в строке, в ячейку F1 запишем формулу
=СЧЁТЕСЛИ($A1:$F1;A1)
и растянем на диапазон G1:L1, когда в строке есть одно число, которое встречается ровно 2 раза, сумма этого диапазона равна 8.
Среднее арифметическое можно рассчитать по формуле, запишем ее в ячейке M1 и растянем на весь диапазон:
=СУММЕСЛИ(G1:L1; “=1 “;A1:F1)/СЧЁТЕСЛИ(G1:L1; “=1 “)
Для того, чтобы найти сумму повторяющихся чисел в строке, в ячейке N1 запишем формулу:
=СУММЕСЛИ(G1:L1; “=2 “;A1:F1)
В ячейку O1 запишем формулу для проверки условий:
=ЕСЛИ(И(СУММ(G1:L1)=8;M1<=N1);1;0)
Остается только найти сумму по столбцу O.
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: numbers = list(map(int, line.split())) unique_numbers = list(set(numbers)) if len(unique_numbers) == 5: repeated_number = [x for x in unique_numbers if numbers.count(x) == 2] if len(repeated_number) == 1: non_repeated_numbers = [x for x in numbers if numbers.count(x) == 1] sum_non_repeated = sum(non_repeated_numbers) sum_repeated = repeated_number[0] * 2 if sum_non_repeated / len(non_repeated_numbers) <= sum_repeated: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
В каждой строке электронной таблицы записаны четыре натуральных числа. Определите, сколько в таблице таких четвёрок, из которых можно выбрать три числа с чётной суммой.
Решение Excel:
В ячейках E1:H1 запишим формулы для поиска различных сумм трех чисел из строки, эти формулы последовательно булут выглядеть следуюзщим образом: =A1+B1+C1, =A1+B1+D1, =A1+C1+D1, =B1+C1+D1.
В ячейку I1 запишем формулу для проверки условия: =ЕСЛИ(ИЛИ(ЕЧЁТН(E1);ЕЧЁТН(F1);ЕЧЁТН(G1);ЕЧЁТН(H1));1;0). Остается только посчитать сумму по столбцу I.
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: numbers = list(map(int, line.split())) found = False for i in range(4): for j in range(i + 1, 4): for k in range(j + 1, 4): if (numbers[i] + numbers[j] + numbers[k]) % 2 == 0: found = True break if found: break if found: break if found: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, в которых квадрат суммы максимального и минимального чисел в строке больше суммы квадратов трёх оставшихся.
Решение Excel:
Отсортируем числа в строке по убыванию, для этого в ячейках F1:J1 запишим формулы соответственно:
=НАИБОЛЬШИЙ(A1:E1;1)
=НАИБОЛЬШИЙ(A1:E1;2)
=НАИБОЛЬШИЙ(A1:E1;3)
=НАИБОЛЬШИЙ(A1:E1;4)
=НАИБОЛЬШИЙ(A1:E1;5)
Теперь в ячейке K1 запишем формулу для поиска квадрата суммы максимального и минимального чисел в строке: =(F1+J1)*(F1+J1). В ячейку L1 запишем формулу для поиска суммы квадратов трёх оставшихся чисел в строке: =G1*G1+H1*H1+I1*I1.
Теперь в ячейку M1 запишем формулу, которая сравнивает полученные результаты: =ЕСЛИ(K1>L1;1;0).
Остается только растянуть формулы по всему диапазону и посчитать сумму по столбцу M.
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for line in f: numbers = list(map(int, line.split())) numbers.sort(reverse=True) min_num = numbers[-1] max_num = numbers[0] sum_max_min_squared = (min_num + max_num) ** 2 sum_squares_others = sum([x ** 2 for x in numbers[1:-1]]) if sum_max_min_squared > sum_squares_others: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
— в строке есть два числа, каждое из которых повторяется дважды, остальные три числа различны;
— среднее арифметическое всех повторяющихся чисел строки больше среднего арифметического неповторяющихся чисел.
В ответе запишите только число.
Решение Excel
Для начала посчитаем, сколько раз в строке появляется каждое число, для этого используем формулу
=СЧЁТЕСЛИ($A1:$G1; A1),
растягиваем её в диапазоне H:N. Затем выведем повторяющиеся числа с помощью формулы
=ЕСЛИ(H1=2; A1; 0)
в диапазоне O:U и неповторяющиеся числа с помощью формулы =ЕСЛИ(H1=1; A1; 0) в диапазоне V:AB.
Формулой
=ЕСЛИ(И(СЧЁТЕСЛИ(O1:U1; 0)=3; СУММ(O1:U1)/4>СУММ(V1:AB1)/3); 1; 0)
найдём строки, которые подходят по условию, помечая единицей.
После того, как растянули ячейку, выделяем её и смотрим на нижней панели сумму столбца, либо же в отдельной ячейке найдём значение с помощью формулы =СУММ(AС:AС).
Решение на Python
Для начала переведём файл таблицы в текстовый файл .txt. Для этого в редакторе таблиц нажмём «Файл»
«Сохранить как» и выберем формат .txt.
Далее прочитаем строки, введём счётчик нужных строк и начнём проход по ним. Нам нужно найти повторяющиеся
и неповторяющиеся числа. Для этого создадим два списка: для повторяющихся и для неповторяющихся чисел. Чтобы в
списке повторяющихся не было дубликатов, составлять его будем с помощью множества. В подходящих строках список
повторяющихся имеет длину 2, а неповторяющихся — 3. Среднеарифметическое повторяющихся чисел будет
, неповторяющихся —
. Если строка подходит под оба
условия, увеличиваем счётчик.
# Открываем файл с расширением .txt file = open("9.txt") # Считываем строки с числами из файла number_lines = [list(map(int, line.split())) for line in file] # Счётчик для количества подходящих под условие строк lines_count = 0 # Перебираем строки - списки из 7 чисел for line in number_lines: # Уникальные числа строки uniq = set(line) # Неповторяющиеся числа строки nonrepating = [x for x in uniq if line.count(x) == 1] # Уникальные числа, которые повторяются 2 раза в строке repeating2 = [x for x in uniq if line.count(x) == 2] if (len(repeating2) == 2 and len(nonrepating) == 3) and \ (sum(repeating2) / 2 > sum(nonrepating) / 3): # Увеличиваем счётчик на 1 lines_count += 1 # Выводим ответ print(lines_count)
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке пять целых чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
– в строке есть одно число, которое повторяется дважды, остальные три числа различны;
– абсолютная сумма всех повторяющихся чисел строки меньше среднего арифметического всех её чисел.
В ответе запишите только число.
Решение Excel:
Для начала считаем, сколько раз в строке появляется каждое число, для этого используем формулу
=СЧЁТЕСЛИ($A1:$E1;A1),
растягиваем её в диапазоне F:J. Затем выводим повторяющиеся числа с помощью формулы =ЕСЛИ(F1=2;A1;0) в диапазоне K:O.
Формулой
=ЕСЛИ(И(СУММ(F1:J1)=7; ABS(СУММ(K1:O1))<СРЗНАЧА(A1:E1));1; 0)
находим строки, которые подходят по условию, помечая единицей.
После того, как растянули ячейку, выделяем её и смотрим на нижней панели сумму столбца, либо же в отдельной ячейке находим значение с помощью формулы =СУММ(P:P).
Решение программой:
f = open(’9.txt’, ’r’) count = 0 for _ in range(4000): numbers = list(map(int, f.readline().split())) # Проверка, что одно число повторяется дважды, а остальные различны if len(set(numbers)) == 4 and any(numbers.count(num) == 2 for num in numbers): repeated_number = next(num for num in set(numbers) if numbers.count(num) == 2) if abs(repeated_number * 2) < sum(numbers) / len(numbers): count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл 9_12.xls электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
– в строке есть одно число, которое повторяется дважды, остальные три числа различны;
– среднее арифметическое всех неповторяющихся чисел строки меньше удвоенного повторяющегося числа.
В ответе запишите только число.
Решение Excel:
В ячейку впишем формулу:
и растянем её вправо до столбца J включительно.
Выделив диапазон столбцов
, растянем их вниз до конца таблицы.
В ячейку впишем формулу:
и растянем её вниз.
В ячейку впишем формулу:
и
растянем её вниз.
Так как оба условия должны быть выполнены, то в ячейку впишем формулу:
и растянем её вниз.
В ячейку
впишем формулу:
для подсчёта количества строк, удовлетворяющих
условию.
Решение программой:
f = open(’9.txt’, ’r’) lines = f.readlines() count = 0 for line in lines: nums = list(map(int, line.split())) unique_nums = set(nums) if len(nums) - len(unique_nums) == 1: repeated = [x for x in nums if nums.count(x) == 2][0] non_repeated = [x for x in unique_nums if nums.count(x) == 1] if sum(non_repeated) / len(non_repeated) < 2 * repeated: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл 9_13.xls электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
– в строке есть два числа, каждое из которых повторяется дважды, остальные два числа различны;
– минимальное число строки не повторяется.
В ответе запишите только число.
Решение Excel:
В ячейку впишем формулу:
и растянем её вправо до столбца L включительно.
Выделив диапазон столбцов
, растянем их вниз до конца таблицы.
В ячейку впишем формулу:
и растянем её
вниз.
В ячейку впишем формулу:
и растянем её вниз.
Так как оба условия должны быть выполнены, то в ячейку впишем формулу:
и растянем её
вниз.
В ячейку впишем формулу:
для подсчёта количества строк, удовлетворяющих
условию.
Решение программой:
f = open(’9.txt’, ’r’) lines = f.readlines() count = 0 for line in lines: nums = list(map(int, line.split())) unique_nums = set(nums) if len(nums) - len(unique_nums) == 2: repeated = [x for x in unique_nums if nums.count(x) == 2] if len(repeated) == 2 and nums.count(min(nums)) == 1: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл 9_15.xls электронной таблицы, содержащей в каждой строке семь натуральных числа. Определите количество строк таблицы, для чисел которых выполнены оба условия:
– все числа различны;
– четырехкратная сумма наименьшего и наибольшего чисел в строке больше удвоенной сумме пяти оставшихся чисел.
В ответе запишите только число.
Решение Excel:
В ячейку впишем формулу:
и растянем её вправо до столбца N включительно.
Выделив диапазон столбцов
, растянем их вниз до конца таблицы.
В ячейку впишем формулу:
.
В ячейку впишем формулу:
и растянем её вниз.
Так как оба условия должны быть выполнены, то в ячейку впишем формулу:
и растянем её
вниз.
В ячейку впишем формулу:
для подсчёта количества строк, удовлетворяющих
условию.
Решение программой:
f = open(’9.txt’, ’r’) lines = f.readlines() count = 0 for line in lines: nums = list(map(int, line.split())) if len(nums) == len(set(nums)): nums.sort() if 4 * (nums[0] + nums[-1]) > 2 * sum(nums[1:-1]): count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл 9_16.xls электронной таблицы, содержащей в каждой строке пять натуральных числа. Определите количество строк таблицы, для чисел которых выполнены условия:
– среднее (по величине) число не повторяется;
– среди чисел строки есть ровно одно число, повторяющееся два раза;
– сумма максимального и минимального чисел строки меньше, чем удвоенное повторяющееся число.
В ответе запишите только число.
Решение Excel
В ячейку впишем формулу:
и растянем её вправо до столбца J включительно. Выделив диапазон столбцов , растянем их вниз до конца
таблицы.
В ячейку впишем формулу:
В ячейку впишем формулу:
В ячейку впишем формулу:
Так как все три условия должны быть выполнены, то в ячейку впишем формулу:
и растянем её вниз.
В ячейку впишем формулу для подсчёта количества строк, удовлетворяющих условию:
Решение на Python
f = open("9.txt") # Открываем файл расширения txt a = [list(map(int, line.split())) for line in f] # Считывание строк чисел в файле lines_count = 0 # Счётчик для количества подходящих под условие строк for line in a: # Перебираем строки - списки из 5 чисел sred = sorted(line)[2] # Среднее число в строке povtor2 = [x for x in set(line) if line.count(x) == 2] # Числа (без повторений), которые повторяются 2 раза if line.count(sred) == 1: # Среднее число не повторяется if len(povtor2) == 1: # Только 1 число в строке повторяется 2 раза if max(line) + min(line) < 2 * povtor2[0]: # Сумма макс. и мин. чисел меньше удвоенного повторяющегося # По итогу все условия выполняются lines_count += 1 # Увеличиваем счётчик на 1 print(lines_count) # Выводим ответ
Ошибка.
Попробуйте повторить позже
Откройте файл 9_17.xls электронной таблицы, содержащей в каждой строке пять натуральных числа. Определите количество строк таблицы, для чисел которых выполнены условия:
– в строке ровно одно число повторяется два раза, остальные числа в строке различны;
– квадрат наибольшего числа меньше куба наименьшего.
В ответе запишите только число.
Решение Excel:
В ячейку впишем формулу:
и растянем её вправо до столбца J включительно.
Выделив диапазон столбцов
, растянем их вниз до конца таблицы.
В ячейку впишем формулу:
.
В ячейку впишем формулу:
Так как все три условия должны быть выполнены, то в ячейку впишем формулу:
и растянем её
вниз.
В ячейку впишем формулу:
для подсчёта количества строк, удовлетворяющих
условию.
Решение Python
Сначала мы открываем файл и считываем все строки. Для этого используем функцию open() с режимом ’r’ (чтение), а затем применяем метод readlines(), который возвращает список строк. Каждая строка файла будет представлять собой отдельный элемент списка.
После этого мы создаём счётчик, который будет хранить количество строк, удовлетворяющих условиям. Далее начинаем цикл по всем строкам файла. На каждой итерации преобразуем строку в список чисел: сначала разбиваем её методом split() по пробелам, затем применяем функцию map(int, ...), чтобы перевести каждую строку в число, и оборачиваем результат в list().
Далее проверяем выполнение первого условия:
1. Мы составляем список freq, где для каждого элемента из nums вычисляем количество его вхождений с помощью метода count().
2. Если в списке ровно одно число встречается дважды, то в freq будут два значения, равные 2 (так как одинаковое число учитывается оба раза). Все остальные числа встречаются по одному разу, то есть в freq будет три значения, равные 1.
3. Таким образом, первое условие проверяется через выражение freq.count(2) == 2 and freq.count(1) == 3.
Затем проверяем второе условие: квадрат максимального числа должен быть меньше куба минимального числа. Для этого находим максимум функцией max(), минимум функцией min(), возводим в соответствующие степени с помощью оператора **, и сравниваем.
Если оба условия выполнены, увеличиваем счётчик на 1. После обработки всех строк выводим итоговое значение.
f = open(’9.txt’, ’r’) # Открываем файл для чтения lines = f.readlines() # Считываем все строки файла в список count = 0 # Счётчик строк, удовлетворяющих условиям # Перебираем строки файла for line in lines: # Преобразуем строку в список чисел nums = list(map(int, line.split())) # Строим список частот встречаемости чисел freq = [nums.count(x) for x in nums] # Проверяем первое условие: # одно число встречается ровно дважды, остальные числа различны if freq.count(2) == 2 and freq.count(1) == 3: # Проверяем второе условие: # квадрат максимального числа меньше куба минимального if max(nums)**2 < min(nums)**3: count += 1 # Если оба условия выполнены, увеличиваем счётчик print(count) # Выводим результат
Ошибка.
Попробуйте повторить позже
Откройте файл 9_18.xls электронной таблицы, содержащей в каждой строке шесть натуральных числа. Определите количество строк таблицы, для чисел которых выполнены условия:
– в строке ровно одно число повторяется два раза, остальные числа в строке различны;
– в строке ровно три числа кратных трем.
В ответе запишите только число.
Решение Excel:
В ячейку впишем формулу:
и растянем её вправо до столбца L включительно.
Выделив диапазон столбцов
, растянем их вниз до конца таблицы.
В ячейку впишем формулу:
и
растянем её вниз.
В ячейку впишем формулу:
и растянем до ячейки S1. Выделив диапазон столбцов
,
растянем их вниз до конца таблицы.
В ячейку впишем формулу:
и растянем её вниз.
В ячейку впишем формулу:
и растянем её вниз. Наконец, для подсчёта количества строк,
удовлетворяющих условию, в ячейку
впишем формулу:
.
Решение программой:
f = open(’9.txt’, ’r’) lines = f.readlines() count = 0 for line in lines: nums = list(map(int, line.split())) freq = [nums.count(x) for x in nums] if freq.count(2) == 2 and freq.count(1) == 4: if sum(1 for x in nums if x % 3 == 0) == 3: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл 9_20.xls электронной таблицы, содержащей в каждой строке четыре натуральные числа. Определите количество строк таблицы, для чисел которых выполнены условия:
– в строке есть ровно одно число, повторяющееся дважды;
– произведение максимального и минимального числа кратно 18.
В ответе запишите только число.
Решение Excel:
В ячейку впишем формулу:
и растянем её вправо до столбца H включительно.
Выделив диапазон столбцов
, растянем их вниз до конца таблицы.
В ячейку впишем формулу:
и
растянем её вниз.
В ячейку впишем формулу:
и растянем её до конца таблицы.
В ячейке впишем формулу для проверки обоих условий:
и растянем её вниз.
Наконец, для подсчёта количества строк, удовлетворяющих условию, в ячейку впишем формулу:
.
Решение программой:
f = open(’9.txt’, ’r’) lines = f.readlines() count = 0 for line in lines: nums = list(map(int, line.split())) if len(nums) - len(set(nums)) == 1: mn, mx = min(nums), max(nums) if (mn * mx) % 18 == 0: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Откройте файл 9_1.xlsx электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
- в строке все числа имеют различный остаток при делении на 6;
- сумма чисел строки кратна 25 или 7.
В ответе запишите только число — количество подходящих строк.
Решение Excel:
Откроем файл электронной таблицы. Для начала при помощи функции ОСТАТ определим остаток при делении на 6 для каждого числа в строке. Формула для столбца G будет выглядеть так: =ОСТАТ(A1;6).
Теперь нужно растянуть эту формулу на следующие 5 столбцов, чтобы узнать остаток каждого числа в строке.
Посчитаем при помощи функции СЧЁТЕСЛИ сколько раз определенный остаток при делении на 6 встречается в строке. Формула для столбца M будет выглядеть так: =СЧЁТЕСЛИ($G1:$L1;G1)
Теперь нужно растянуть эту формулу на следующие 5 столбцов чтобы узнать сколько раз встречается определенный остаток при делении на 6 в строке. Если сумма M:R столбцов будет равна 6,значит,в данной строке все остатки различные.
С помощью функции ОСТАТ мы узнаем кратна ли сумма чисел в строке 25 или 7. Полная формула для столбца S будет выглядеть так: =ЕСЛИ(ИЛИ(ОСТАТ(СУММ(A1:F1);25)=0;ОСТАТ(СУММ(A1:F1);7)=0);1;0).
Осталось в столбце T написать условие, проверяющее, что все числа в строке различные и их сумма кратна 25 или 7. Формула будет иметь такой вид: =ЕСЛИ(И(СУММ(M1:R1)=6;S1=1);1;0).
Теперь растянем эту формулу на все строки и посчитаем количество единиц. Ответ:8.
Решение программой:
f = open(’9.txt’, ’r’) lines = f.readlines() count = 0 for line in lines: nums = list(map(int, line.split())) remainders = [num % 6 for num in nums] if len(set(remainders)) == 6: if sum(nums) % 25 == 0 or sum(nums) % 7 == 0: count += 1 print(count)