62 votos

Crear el número único de 2 números

¿Hay alguna manera para crear el número único de 2 números enteros positivos? Resultado debe ser único para estos pares: 2 y 30, 1 y 15, 4 y 60. En general, si me tomo 2 al azar resultado de números debe ser único (o con muy alta probabilidad única)

Muchas gracias

EDICIÓN: cálculo es para el programa de computadora, así complejidad computacional es importante

96voto

user2318170 Puntos 160

El tipo de función que buscas se llama a menudo una función de emparejamiento.

Un ejemplo estándar es la función de emparejamiento Cantor $\mathbb{N}\times\mathbb{N}\rightarrow\mathbb{N}$, por: $\pi(a,b) = \frac{1}{2}(a+b)(a+b+1) + b$.

Usted puede encontrar más información aquí: http://en.wikipedia.org/wiki/pairing_function

29voto

Jeff Leonard Puntos 258

Si los números son $a$ y $b$, tomar $2^a3^b$. Este método funciona para cualquier cantidad de números (solo tome diferentes números primos como base), y todos los números son distintos.

5voto

David HAust Puntos 2696

Google función de sincronización. Como he mencionado en la pregunta similar, también hay otros de vinculación funciones además de la conocida debido a Cantor. Por ejemplo, ver este "elegante" función de sincronización, que tiene la útil propiedad de que las órdenes de muchas expresiones de la profundidad.

4voto

MattDiPasquale Puntos 101

Para enteros positivos como argumentos y donde no importa el orden de discusión:

  1. Aquí es un desordenado función de emparejamiento:

    $<x, y> = x * y + trunc(\frac{(|x - y| - 1)^2}{4}) = <y, x>$

  2. Para x ≠ y, aquí es un emparejamiento desordenado única función:

    <x, y> = if x < y:
               x * (y - 1) + trunc((y - x - 2)^2 / 4)
             if x > y:
               (x - 1) * y + trunc((x - y - 2)^2 / 4)
           = <y, x>
    

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X