Олимпиадный тренинг

Задача . TUZ_2-19K Сумма двух квадратов


Задача

Темы:
 
TUZ_2-19 Сумма двух квадратов
Дано натуральное число n, и требуется найти два натуральных числа, сумма квадратов которых равна n.
Например, если n равно 145, то ответом будет пара чисел (12, 1).
Если есть несколько ответов, то следует выбрать ответ с наибольшим максимальным числом.
Например, для n = 50 есть два возможных ответа: (7, 1) и (5, 5). Поскольку 7 больше 5, правильный ответ: (7, 1).
Ваша задача: написать функцию get_squares_summing_to_n, которая
принимает положительное целое число n и возвращает два числа (невозрастающих), сумма квадратов которых равна n.
Если таких чисел нет, функция должна вернуть None.
В табл. 2.19 показаны ожидаемые результаты для некоторых входных данных.
Таблица 2.19. Некоторые ожидаемые результаты для задачи суммы двух квадратов
n Ожидаемый результат
50 7 1
145 12 1
1480 38 6
540 None
 
 

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python3
Комментарий учителя