Este es un desafío simple que, con suerte, puede conducir a algunas respuestas creativas.
Citando Wikipedia : "La señalización de frecuencia múltiple de tono dual (DTMF) es un sistema de señalización de telecomunicaciones en banda que utiliza la banda de frecuencia de voz a través de líneas telefónicas entre equipos telefónicos y otros dispositivos de comunicación y centros de conmutación".
Tarea
Dados dos enteros que representan las frecuencias de columna y fila en la siguiente tabla, su tarea es generar la clave correspondiente:
| 1209 Hz | 1336 Hz | 1477 Hz
-------+---------+---------+---------
697 Hz | 1 | 2 | 3
770 Hz | 4 | 5 | 6
852 Hz | 7 | 8 | 9
941 Hz | * | 0 | #
Ejemplos
- Si la entrada es
[ 1209, 852 ]
, la salida esperada es "7". - Si la entrada es
[ 1477, 941 ]
, la salida esperada es "#".
Reglas
- Debe tomar la entrada como números enteros en cualquier formato razonable, como dos variables separadas o una matriz de dos variables. Especifique en qué orden los espera su programa ( column_freq, row_freq o row_freq, column_freq ).
- La entrada está garantizada para ser válida.
- Debe imprimir o generar un carácter . Sin embargo, también se le permite generar un número entero para claves de dígitos.
- Este es el código de golf , por lo que gana la respuesta más corta en bytes.
fuente
x#y="_1425__#9__*70836"!!mod(2*x+y)18
MATL , 23 bytes
Las entradas son: frecuencia de columna, luego frecuencia de fila.
Pruébalo en línea!
Explicación
Multiplicando la frecuencia de la columna por 13, sumando la frecuencia de la fila y calculando el módulo 79, se obtiene un valor diferente para cada uno de los 12 pares de entradas.
fuente
Jalea , 24 bytes
Pruébalo en línea!
fuente
JavaScript (Node.js) , 34 bytes
Pruébalo en línea!
Python 3 , 39 bytes
Pruébalo en línea!
fila, columna se puede suministrar en cualquier orden.
fuente
Befunge , 34 bytes
Pruébalo en línea!
Explicación:
fuente