убрал повторение чисел из матрицы

This commit is contained in:
Игорь
2026-04-01 14:52:29 +03:00
parent a744608a27
commit 4712840ba2

View File

@@ -20,7 +20,7 @@ def search_binary_diagonal(matrix, K):
mid = (left + right) // 2 mid = (left + right) // 2
if matrix[mid][mid] == K: if matrix[mid][mid] == K:
return True, 1 return True, steps
elif matrix[mid][mid] < K: elif matrix[mid][mid] < K:
diag_indx = mid diag_indx = mid
left = mid + 1 left = mid + 1
@@ -63,18 +63,16 @@ def generate_matrix(N, M):
Генерирует матрицу N x M со случайными числами Генерирует матрицу N x M со случайными числами
""" """
matrix = [[0] * M for g in range(N)] matrix = [[0] * M for g in range(N)]
current = 1
for i 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): for j in range(M):
min_val = matrix[i-1][j] if i == 0 and j == 0:
if j > 0: matrix[i][j] = current
min_val = max(min_val, matrix[i][j-1]) current += r.randint(1, 8)
matrix[i][j] = min_val + r.randint(1, 8) else:
matrix[i][j] = current
current += r.randint(1, 9)
return matrix return matrix
@@ -93,6 +91,11 @@ def main():
print("\nСгенерированная матрица:") print("\nСгенерированная матрица:")
print_matrix(matrix) print_matrix(matrix)
all_numbers = []
for row in matrix:
all_numbers.extend(row)
unique_numbers = set(all_numbers)
K = int(input("\nВведите число для поиска: ")) K = int(input("\nВведите число для поиска: "))
found, steps = search_binary_diagonal(matrix, K) found, steps = search_binary_diagonal(matrix, K)