Предмет: Программно-аппаратная защита информации
Преподаватель: Оцоков Шамиль Алиевич
Курс: 4.
Университет: РТУ МИРЭА (Московский Институт Радиоэлектроники и Автоматики)
Факультет (институт): КБСП (Комплексной безопасности и специального приборостроения)
Дана матрица n на n. Найти все индексы всех различных пар элементов сумма которых равна максимальному элементу матрицы.
Код
# Задаем матрицу A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Функция для нахождения максимального элемента матрицы def find_max(): max = 0 for i in range(len(A)): for j in range(len(A[i])): if A[i][j] >= max: max = A[i][j] return max # Основная процедура программы for i in range(len(A)): for j in range(len(A[i])): for k in range(len(A)): for m in range(len(A[k])): if A[i][j] + A[k][m] == find_max(): print(i+1, j+1, '+', k+1, m+1)
Вывод
1 1 + 3 2 1 2 + 3 1 1 3 + 2 3 2 1 + 2 2 2 2 + 2 1 2 3 + 1 3 3 1 + 1 2 3 2 + 1 1
Вывести все различные простые числа меньшие M, произведение двух которых равно K. Числа M и K вводятся в программу.
Код
m = input('M = ') # Введем 25 для проверки k = input('K = ') # Введем 437 для проверки for i in range(m): # Начинаем перебор if i < m: zki = 0 # Сигнализатор for zi in range(2, i // 2 + 1): # Проверяем число на простоту if (i % zi == 0): zki = zki + 1 # Тут он должен сработать if (zki <= 0): for j in range(m): if j < m: zkj = 0 for zj in range(2, j // 2 + 1): # Та же самая история if (j % zj == 0): zkj = zkj + 1 if (zkj <= 0): if eval('i * j') == k: print(i, '*', j, '=', k) # Выводим все возможные варианты else: pass else: pass
Вывод
25 437 19 * 23 = 437 23 * 19 = 437