Escriba un programa o función que tome un entero positivo. Puede suponer que la entrada es válida y puede tomarla como una cadena. Si el número es cualquiera de
123
234
345
456
567
678
789
luego genera un valor verdadero . De lo contrario, genera un valor falso . Por ejemplo, las entradas
1
2
3
12
122
124
132
321
457
777
890
900
1011
1230
1234
todo debe dar como resultado una salida falsa. (La entrada no tendrá ceros a la izquierda, por lo que no debe preocuparse por cosas como 012).
El código más corto en bytes gana.
code-golf
number
decision-problem
integer
Pasatiempos de Calvin
fuente
fuente

012?012sería falso, pero puede suponer que no es una entrada.Respuestas:
Python, 24 bytes
Una función anónima que genera 0 o 1. Crea la lista
[123, 234, 345, 456, 567, 678, 789]y cuenta cuántas veces aparece la entrada.fuente
Python, 24 bytes
Solo muchas condiciones encadenando.
fuente
lambda, ni siquiera habría adivinado que era Python. Eso es horribleHaskell, 22 bytes
Una función anónima. Genera la lista espaciada uniformemente
[123, 234, 345, 456, 567, 678, 789]y comprueba si la entrada es un elemento.fuente
Brachylog , 9 bytes
Pruébalo en línea! o Verificar todos los casos de prueba.
Créditos a Dennis por el algoritmo .
En inglés, "(demuestre que) el primer dígito de la entrada, concatenado consigo mismo dos veces, agregue 12, sigue siendo la entrada".
fuente
Python 2, 25 bytes
Pruébalo en Ideone .
fuente
Brain-Flak 76 + 3 = 79 bytes
Esta respuesta es un golf de esta respuesta. En realidad no sé cómo funciona mi respuesta, pero DJMcMayhem da una buena explicación en su respuesta original y mi respuesta es una modificación de la suya.
Se ejecuta con el indicador -a ascii que agrega 3 bytes.
Explicación (de algún tipo)
Comenzando con la solución de trabajo original:
Ejecuté esto a través de un algoritmo de golf simple que escribí y obtengo:
Desde aquí veo la sección que
<({}[()()()])>{}esencialmente se multiplica por uno, lo que hace que sea igual{}[()()()]reducir todo el código a:Por último, los negativos se pueden combinar:
fuente
Brainfuck, 32 bytes
Pruébalo en línea!
Créditos a Lynn por el núcleo del algoritmo.
fuente
Jalea , 6 bytes
Pruébalo en línea! o verificar todos los casos de prueba .
Cómo funciona
fuente
ast.literal_evalrespecta,012no representa un número entero .05AB1E , 5 bytes
Explicación
Pruébalo en línea
fuente
2Å1lugar deXX,, solo por el heck de menos comandos (4 en lugar de 5).Åse puede escribir en mi teclado (en lugar de‚) lo cual es un beneficio :)‚(no el,que usé) no tiene una secuencia de teclas compuestas también, mientrasÅestáoAen un teclado en-US.MATL , 8 bytes
Pruébalo en línea!
Esto imprimirá
1 1para una entrada veraz y una matriz con un0valor falso, ya que eso es falso en MATL.Explicación:
fuente
d1=Ep4=(no lo he probado a fondo)dTTX=por 5 bytesTTes el literaltrueyFesfalse. VecinosTyFunidos, asíTTes[true true], lo que para estos propósitos es equivalente a[1 1]. Vea la sección 4.3 de la especificaciónJava 7, 46 bytes
Después de probar varias cosas con Leaky Nun en el chat, esta parece ser la más corta. A veces solo tienes que hacer las cosas de la manera más sencilla: /
Explicación:
fuente
Perl 6 ,
35 29 24 2119 bytesExplicación:
Uso:
fuente
Retina , 26
Salidas 1 para la verdad y 0 para falsey.
Pruébelo en línea (se agregó la primera línea para permitir la ejecución de múltiples casos de prueba)
fuente
Ruby,
323025 + 2 = 27 bytes+2 bytes para
-nlbanderas.Toma entrada en STDIN e imprime
trueofalse.Véalo en repl.it: https://repl.it/DBn2/2 (Haga clic en ▶ ️ y luego escriba input en la consola a continuación).
fuente
-ahace unsplit, nochop? Además, ¿qué hace el&? Estoy usando un Ruby más antiguo que arroja un error. De todos modos, funciona perfectamente a 26 bytes sin él.-l, no-a.&.es el operador de "navegación segura", agregado en Ruby 2.3. Sin él, las entradas como19, que no son subcadenas si"123456789", generarán un NoMethodError.Brain-Flak , 99 bytes
Pruébalo en línea!
Esto es 98 bytes de código
+1para la-abandera.Esto imprime
1para la verdad, y una0o ninguna (que es equivalente a 0) para la falsedadfuente
...)({}pero varían. Si presiona y explota sin usar el valor, puede condensarlo en una sola cosa. Puedo vincularlo a una versión de su código con todos estos juegos de golf si lo desea.Brain-Flak , 114 bytes
Pruébalo en línea!
Versión correcta (en el espíritu de la pregunta): toma el entero como entrada, salida 0 para falsey y 1 para verdadero.
Esto no es una pila limpia.
Algoritmo
Deje que la entrada sea
n.La salida es veraz iff
(n-123)(n-234)(n-345)(n-456)(n-567)(n-678)(n-789)=0.Calculé esos siete números restando primero 12 y luego restando 111 7 veces, y luego calculé el NOT lógico doble de esos siete números y los sumé.
Para resultados verdaderos, la suma es 6; para los resultados de falsey, la suma es 7.
Luego, resto la suma de 7 y envío la respuesta.
fuente
R,
3022 bytesNo particularmente emocionante; compruebe si la entrada está en la secuencia dada por 12 + 111k, donde k es cada uno de 1 a 7. Tenga en cuenta que
:precede a*la multiplicación después de que se genera la secuencia.fuente
C # (compilador interactivo de Visual C #) ,
41 3023 bytesPrimera presentación de código de golf, sé amable :)
Pruébalo en línea!
fuente
returnpalabra clave: 30 bytesBrainfuck, 43 bytes
Bah, no soy bueno en esto. Salidas
\x01Si la salida es una de las cadenas123,234, ...,789; salidas de lo\x00contrario.(Pero vencí a Java 7 ...)
Pruébalo en línea!
fuente
[>>]<? ¿No podría ser eso>?JavaScript ES6, 26 bytes
n=>1>(n-12)%111&n>99&n<790Esto aprovecha el hecho de que estoy usando operadores lógicos de bits en lo que son esencialmente booleanos (¡que están basados en bits!)
Gracias a Titus por salvar 2.
fuente
(n-12)yn>99Excel -
62573531 bytesBasado en la respuesta de Anastasiya-Romanova, pero devolviendo los
TRUE/FALSEvalores de Excel .Además, podemos llegar a
ya que ambos
RIGHTyLEFTdevuelve un solo carácter por defecto.Y, inspirado en algunas de las soluciones de Python:
Gracias a Neil por 4 bytes más ...
fuente
N<900ahorra un byte, en cuyo caso también puede usarlo enN>99lugar deLEN(N)=3.=REPT(LEFT(N),3)+12=NdondeNestá el nombre de la celda de referencia.Brachylog (2), 7 bytes
Pruébalo en línea!
Explicación
Como programa completo, obtenemos un verdadero retorno si todas las afirmaciones se mantienen, un falso retorno si alguno falla.
fuente
CJam,
139 bytesPruébalo en línea!
Explicación
fuente
2345Excel - 104 bytes
Explicación:
La sintaxis para la fórmula IF en Excel es:
Si la longitud de la entrada
N, donde es un nombre de la celda de referencia, es menor que 3, entonces devolverá Falsy . De lo contrario, si la longitud de entradaNes 3 y la diferencia entre el segundo dígito y el primer dígito y la diferencia entre el tercer dígito y el segundo dígito son iguales a 1, entonces devolverá Verdad .fuente
=REPT(LEFT(N),3)+12=NdondeNestá el nombre de la celda de referencia.Dyalog APL , 10 bytes
Toma un argumento de cadena.
1 1≡Es {1, 1} idéntico a¯2-/la diferencia inversa en pares de⍎¨cada personaje tomado como un número?TryAPL en línea! (
⍎ha sido emuladoepor razones de seguridad).fuente
Perl, 18 bytes
Incluye +1 para
-pEjecutar con la entrada en STDIN
123.pl:fuente
PHP, 31 bytes
Compruebe si el primer dígito de (número menos 12) es múltiplo de 111
fuente
PowerShell v3 +, 24 bytes
Utiliza el mismo truco "múltiplo de 111 más 12" que otras respuestas, pero va en la otra dirección. Toma entrada
$args[0], resta12, divide111y comprueba si ese es-inel rango1..7. Emite un valor booleano verdadero / falso. Requiere v3 + para-inoperador.Casos de prueba
fuente
Código de máquina ARM, 18 bytes
Hex dump (little endian):
Esta es una función que toma un par de punteros de longitud para la cadena. La salida es de estilo bash, emite 0 para verdadero y un valor distinto de cero para falso. En C, la función se declararía int oneTwoThree (size_t length, char * string). La codificación de instrucciones es thumb-2, que tiene instrucciones de 2 y 4 bytes. Probado en una Raspberry Pi 3.
Asamblea sin golf:
Script de prueba (también ensamblado):
fuente
JavaScript (ES6), 34 bytes
Y una opción más en JS. Toma la entrada como una cadena y las salidas
0parafalsey1paratrue.Vea mis otras soluciones aquí y aquí
Intentalo
fuente