12 votos

Es posible la combinación de dos enteros de tal manera que siempre se puede tomar aparte más adelante?

Dados dos enteros $n$ $m$ (asumiendo por tanto el $0 < n < 1000000$) ¿hay alguna función $f$, por lo que si sé $f(n, m) = x$ I puede determinar $n$$m$, determinado $x$? El orden es importante, por lo $f(n, m) \not= f(m,n)$ (a menos que $n=m$).

22voto

Saif Bechan Puntos 3916

$f(n,m) = 2^n 3^m$.

Como alternativa, utilice el bijection entre el $\mathbb N \times \mathbb N$ $\mathbb N$ el cual es dado por $$f(n,m) = \frac{(n+m)(n+m+1)}{2} + m$$

20voto

runeh Puntos 1304

Ya otros han contestado, aquí hay otra idea - menos fácil de escribir explícitamente como una función matemática, pero es fácil de describir y fácil de implementar si usted tiene un equipo que puede manejar cadenas de caracteres. Enviar los dígitos del primer número de posiciones impares y los dígitos de las otras posiciones incluso así (31, 5681) iría a 50,608,311.

14voto

Oli Puntos 89

Si no hay límites en su enteros, utilice el Cantor función de sincronización. Esto es muy fácil de calcular, al igual que sus dos "recíproca."

Para el caso de que su enteros están delimitadas por decir $10^6$, simplemente puede concatenar las expansiones decimales, relleno con inicial $0$'s, según corresponda. O hacer algo similar con el binario expansiones. La suciedad barato para combinar y uncombine, una fácil manipulación de cadenas, incluso cuando permitimos límites mucho más grande de lo $10^6$.

10voto

Leon Katsnelson Puntos 274

Definir $f(n,m) = n+1000000m$. A continuación,$n = f(n,m) \mod 1000000$, e $m = \frac{f(n,m) - n}{1000000}$.

2voto

Baron Y. Puntos 11

f(m,n) = m +(1/n)

Si hay números a la derecha de la coma decimal,
m =número a la izquierda del punto decimal.
n = el recíprocos de los números a la derecha de la coma decimal
ejemplo
f(m,n) =10.5, a continuación, m =10, n=1/(0.5) =2

Si no hay números a la derecha de la coma decimal [f(m,n) es un número entero]
entonces m = f(m,n) -1,
n =1
ejemplo
f(m,n) =20 m=19, n =1

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