시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 512 MB | 19 | 8 | 7 | 38.889% |
Вы участвуете в разработке программного модуля для системы символьных вычислений. Модуль будет использоваться для решения специального вида диофантовых уравнений.
По заданному целому неотрицательному целому числу 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번