5 votos

Función que envía $1,2,3,4$ a $0,1,1,0$ respectivamente

Ya me cansé tratando de pensar en una función $f:\{1,2,3,4\}\rightarrow \{0,1,1,0\}$ en otras palabras:

$$f(1)=0\\f(2)=1\\f(3)=1\\f(4)=0$$

No me sugieras la división en enteros; no me sirve. Hay maneras de implementarlo con módulo, valor absoluto, y así sucesivamente, sin condiciones?

17voto

Viendo los ceros de la función y su simetría, se intenta ajustar una curva cuadrática para obtener $f(x)=-0.5(x-1)(x-4)$ .

11voto

adamJLev Puntos 5892

Otra (un poco más complicada que la parábola) es: $$f(x)=\frac{2}{\sqrt{3}}\sin\bigg(\frac{\pi}{3}(x-1)\bigg)$$

Este genera: $0,1,1,0,-1,-1,0,...$


Y otra sencilla:

$$f(x)=1.5-\left | 2.5-x\right|$$

9voto

eljenso Puntos 7690

Aquí hay uno simple usando sólo mods y un cuadrado

$f(x)=(x-1)^2 \mod 3$

8voto

Shabaz Puntos 403

Si tiene operaciones de bits, sólo devuelve el bit de dos de la entrada. Así que $y=x \gt \gt 1 ;\ \ f(x)=y\%2$

5voto

Yong Hao Ng Puntos 1779

Ya que has etiquetado "binario" en tu pregunta, quizá también quieras recordar que Mapa de Karnaugh es una forma estándar de asignar entradas a salidas con sólo compuertas de complemento, AND y OR. (O "~", " $\&$ " y "|" operadores de bit a bit en C)

Por ejemplo, puede definir $a,b,c$ para ser bits en la posición 2,1,0 aquí para usar el mapa.
Si dibujas el mapa, esto es lo que parece:

$$\begin{array}{c|c|c|c|c|c|} & &bc &bc &bc &bc\\ \hline & & 00 & 01 & 11 & 10\\ \hline a& 0 & \text{X} & 0 & 1 & 1 \\ \hline a& 1 & 0 & \text{X} & \text{X} & \text{X} \\ \hline \end{array}$$ Explicación: X denota valores que no pueden ocurrir (normalmente llamados "No me importa", creo). Queremos centrarnos en la representación de los "1", que está representada por las entradas $\bar abc$ y $\bar a b\bar c$ . (Observe que sólo obtiene "1" para una de las variables, no pueden aparecer juntas).
Se pueden combinar: $\bar a bc + \bar a b \bar c=\bar a b (c+\bar c)=\bar a b$ .
Deshacerse de la $\bar a$ es posible al observar que su fila alternativa no tiene entradas. (es decir, las 2 entradas de abajo son "X")

Usando esta idea puedes construir cualquier función para cualquier variable mayor.
Probablemente no va a ser la aplicación más eficiente, pero puede obtener la solución rápidamente. A partir de ahí, puedes hacer alguna reducción usando operaciones lógicas y el resultado final debería ser decente.

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