Карцигеникат прав.
Для парной функции она берет наибольшее из двух чисел (скажем, а) и производит число, которое больше (а) в квадрате и меньше (а + 1) в квадрате, используя одну из двух формул, либо ( 1) z = a * a + a + b или (2) z = a * a + b, где b - меньшее число x и y.
Вы можете проверить, что любая из формул дает число z, которое больше (a) в квадрате и меньше (a + 1) в квадрате.
Поэтому, когда вы расстраиваетесь, взятие квадратного корня из z всегда дает a, большее из исходных двух чисел.
Предположим, x> y. Тогда большее из исходных чисел было x, поэтому a = x и b = y, а a> b.
Тогда мы использовали формулу 1,
z = a * a + a + y
и
y = z - (a * a) - a
и у нас (х, у) есть (а, z - (а * а) - а)
Эта формула является функцией несопряжения для x> y и a> b.
Предположим, x
z = a * a + x
и
x = z - (a * a)
и у нас (х, у) есть (б, г - (а * а))
Эта формула является функцией несопряжения для x b, за исключением случаев, когда переменные a и b включены в функцию расщепления.
А как насчет того, когда х = у?
В соответствии с функцией неспаривания используется более сложная формула несопаривания, которая соответствует x> y и a> b.
Таким образом, исходная формула для x> y одинакова для x = y, в соответствии с функцией неспаривания Это означает, что оригинальная функция сопряжения должна быть:
х> = у? х * х + х + у: у * у + х;