From 5970d8323e902a37401d121b6d01bc9926b5c7f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C?= Date: Wed, 1 Apr 2026 10:19:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=201=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task1.py | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ task2.py | 0 2 files changed, 90 insertions(+) create mode 100644 task1.py create mode 100644 task2.py diff --git a/task1.py b/task1.py new file mode 100644 index 0000000..d753c0f --- /dev/null +++ b/task1.py @@ -0,0 +1,90 @@ +import random as r + +def search_matrix(matrix, K): + """ + Поиск числа K в матрице + """ + if not matrix or not matrix[0]: + return False, 0 + + N = len(matrix) + M = len(matrix[0]) + + row = 0 + col = M - 1 + steps = 0 + + while row < N and col >= 0: + steps += 1 + current = matrix[row][col] + + if current == K: + return True, steps + elif current > K: + col -= 1 + else: + row += 1 + + return False, steps + + +def generate_matrix(N, M): + """ + Генерирует матрицу N x M со случайными числами + """ + matrix = [[0] * M for g in range(N)] + + + matrix[0][0] = r.randint(1, 10) + for j in range(1, M): + matrix[0][j] = matrix[0][j-1] + r.randint(1, 8) + + for i in range(1, N): + for j in range(M): + min_val = matrix[i-1][j] + if j > 0: + min_val = max(min_val, matrix[i][j-1]) + matrix[i][j] = min_val + r.randint(1, 8) + + return matrix + + +def print_matrix(matrix): + """Красивый вывод матрицы""" + for row in matrix: + print("\t".join(map(str, row))) + + +def main(): + try: + N = int(input("Введите количество строк N: ")) + M = int(input("Введите количество столбцов M: ")) + except ValueError: + print("Ошибка: введите целые числа") + return + + if N <= 0 or M <= 0: + print("Размеры матрицы должны быть положительными") + return + + matrix = generate_matrix(N, M) + + print("\nСгенерированная матрица:") + print_matrix(matrix) + + try: + K = int(input("\nВведите число для поиска: ")) + except ValueError: + print("Ошибка: введите целое число") + return + + found, steps = search_matrix(matrix, K) + + if found: + print(f"Число {K} найдено! Количество шагов: {steps}") + else: + print(f"Число {K} не найдено. Количество шагов: {steps}") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/task2.py b/task2.py new file mode 100644 index 0000000..e69de29