Предмет: Программно-аппаратная защита информации
Преподаватель: Оцоков Шамиль Алиевич
Курс: 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