| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 512 MB | 87 | 31 | 23 | 32.857% |
Вы участвуете в разработке программного модуля для системы символьных вычислений. Модуль будет использоваться для решения специального вида диофантовых уравнений.
По заданному целому неотрицательному целому числу n разрабатываемый модуль должен найти два натуральных числа x и y, для которых выполнено равенство x2 − y2 = n. Найденные числа не должны превышать 262 − 1.
Требуется написать программу, которая по заданному целому неотрицательному числу n находит натуральные числа x и y, не превышающие 262 − 1, разность квадратов которых равна n.
В единственной строке дано одно целое число n (0 ≤ n ≤ 260).
Обратите внимание, что заданное во вводе число не помещается в 32-битный тип данных, необходимо использовать 64-битный тип данных (например, «long long» в C++, «int64» в паскале, «long» в Java).
Если искомые x и y существуют, то необходимо вывести две строки: в первой строке выведите слово «Yes», а во второй — искомые x и y.
Если подходящих пар x и y несколько, можно вывести любую из них, но должно выполняться условие 1 ≤ x, y ≤ 262 − 1.
Если решения нет, в единственной строке необходимо вывести слово «No».
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 10 | 0 ≤ n ≤ 210 |
| 2 | 20 | 0 ≤ n ≤ 220 |
| 3 | 30 | 0 ≤ n ≤ 230 |
| 4 | 40 | 0 ≤ n ≤ 260 |
3
Yes 2 1
2
No
Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics Regional > Russian Olympiad in Informatics Regional 2020 1번