⇤ ← Версия 1 от 2022-09-26 11:13:54
1752
Комментарий:
|
← Версия 2 от 2022-09-26 11:15:18 ⇥
1758
|
Удаления помечены так. | Добавления помечены так. |
Строка 20: | Строка 20: |
1. Спойлер: /* если коротко, то надо следить за диапазонами, в которых перебираются возможные x,y,z и t. Например, x не может быть меньше, а t — больше $$sqrt(N/4)$$, y и z также ограничены */ | 1. Спойлер: /* если коротко, то надо следить за диапазонами, в которых перебираются возможные x,y,z и t. Например, x не может быть меньше, а t — больше корня из N/4, y и z также ограничены */ |
Известно, что любое натуральное число можно представить в виде суммы не более чем четырех квадратов неотрицательных целых чисел (теорема Лагранжа). Ввести натуральное 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
Подсказка: что выведет команда print(*Последовательность) ☺ ?
- Подсказка: четыре тупо вложенных цикла не пройдут тестов. Нужны нетупо вложенные, в которых не вычисляется лишнее.
Спойлер:
Спойлер: на сайте есть статья на эту тему: