Таблица умножения [закрыта]Python

Программы на Python
Ответить
Anonymous
 Таблица умножения [закрыта]

Сообщение Anonymous »

Дана доска умножения n * m, каждая ячейка имеет значение x^2 + y^2
Выведите k-е наименьшее число на этой доске
Ввод:
  • 1-я строка: n
  • 2-я строка: m
  • 3-я строка: k
    Вывод:
  • k-е число в этом доска при сортировке
Пример:

Ввод:

2

3

4

Вывод:

8
Объясните:
Доска 2 * 3:

| 2 | 5 | 10 |

| 5 | 8 | 13 |

Ячейка (1, 1) = 1**2 + 1**2 = 2

Ячейка (1, 2) = 1** 2 + 2**2 = 5

Ячейка (1, 3) = 1**2 + 3**2 = 10

Ячейка (2, 1) = 2**2 + 1**2 = 5

Ячейка (2, 2) = 2**2 + 2**2 = 8

Ячейка ( 2, 3) = 2**2 + 3**2 = 13

Когда список отсортирован, получается следующее: 2, 5, 5, 8, 10, 13
Четвертый число — 8.
Я пробовал сделать так, но это слишком медленно. Ограничение по времени — 500 мс, 0 < a,b,c < 10^9
def kth_smallest_number(n, m, k):
values = []

for x in range(1, n + 1):
for y in range(1, m + 1):
values.append(x**2 + y**2)

values.sort()
return values[k - 1]


Подробнее здесь: https://stackoverflow.com/questions/793 ... tion-table
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»