Известно, что любое натуральное число можно представить в виде суммы не более чем четырех квадратов неотрицательных целых чисел (теорема Лагранжа). Ввести натуральное N⩽100000 и найти для него такие целые неотрицательные x,y,z и t, чтобы x²+y²+z²+t²=N. Вывести все такие четвёрки в следующем формате: x,y,z и t — через пробел, и упорядочены по убыванию, а сами четвёрки — лексикографически по возрастанию (без повторений).

100

5 5 5 5
7 5 5 1
7 7 1 1
8 4 4 2
8 6 0 0
9 3 3 1
10 0 0 0
  1. Подсказка: что выведет команда print(*Последовательность) ☺ ?

  2. Подсказка: четыре тупо вложенных цикла не пройдут тестов. Нужны нетупо вложенные, в которых не вычисляется лишнее.
  3. Спойлер:

  4. Спойлер: на сайте есть статья на эту тему:


CategoryHomework

LecturesCMC/PythonIntro2020/Homework_FourSquares (last edited 2020-10-01 11:36:53 by FrBrGeorge)