var QUESTION_ID=113448,OVERRIDE_USER=64499;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){var F=function(a){return a.lang.replace(/<\/?a.*?>/g,"").toLowerCase()},el=F(e),sl=F(s);return el>sl?1:el<sl?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Respuestas:
ArnoldC ,
299283 bytesEsto genera
1
(que es verdadero) para entradas impares y0
(que es falso) para entradas pares.Pruébalo en línea!
" Ahora este es el plan " (un intento de explicación)
El código lee la entrada en variable
i
, la reemplaza con el resultado del módulo 2 y luego la imprime.fuente
BULLSHIT
YOU HAVE NO RESPECT FOR LOGIC
GET TO THE CHOPPER
GET YOUR ASS TO MARS
...No tengo palabras.brainfuck , 8 bytes
La entrada está en unario. La salida es el 1 (verdadero) para números impares y NUL (falso) para números pares.
Pruébalo en línea!
Cómo funciona
Comenzamos incrementando la celda actual
+
para poder ingresar al ciclo while[,>,]
.En cada iteración,
,
lee un byte de STDIN,>
avanza a la celda a la derecha y luego,
lee otro byte de STDIN. Cuando se agota la entrada, el intérprete (el que está en TIO, de todos modos) establecerá la celda en NUL . Una vez que eso sucede, la condición del ciclo while ya no se cumple y salimos de ella.Sea n el entero de entrada. Si hay una cantidad par de bytes de entrada, es decir, si n es par, las primeras n / 2 iteraciones leerán dos 1 's, y la siguiente iteración leerá dos NUL ' s, dejando la cinta de la siguiente manera.
<.
retrocede una celda e imprime su contenido, enviando un byte NUL a STDOUT.Sin embargo, si hay una cantidad impar de bytes de entrada, las primeras (n - 1) / 2 iteraciones leerán dos 1 's, y la siguiente iteración leerá un 1 y un NUL , dejando la cinta de la siguiente manera.
<
ahora retrocederá a una celda que contiene el byte / carácter 1 , que se.
imprime.fuente
Mathematica, 4 bytes
Da
True
por entradas impares yFalse
por entradas pares, ¿quién sabe?También hay
EvenQ
, pero ¿quién querría escribir todo eso?fuente
2∣#&
funciona tambiénQ
?Taxi ,
1,4821,2901,0631,0291,009 bytesNunca antes había escrito un programa en Taxi y soy un novato en programación en general, por lo que probablemente haya mejores maneras de hacerlo. He comprobado los errores y he logrado jugar un poco al golf probando diferentes rutas que tienen el mismo resultado. Agradezco cualquier y toda revisión.
Devuelve
0
para pares e1
impares.Pruébalo en línea!
Tienes razón, es horrible de leer sin saltos de línea. Aquí hay una versión formateada:
Aquí está mi mejor intento de explicar la lógica:
No volver al Taxi Garage causa la salida a STDERR, pero estoy de acuerdo con eso .
fuente
Retina , 8 bytes
Una respuesta de Retina para entrada decimal. Esta también es una solución simple de expresiones regulares que funciona en casi cualquier sabor de expresión regular. Coincide (e imprime
1
) para entradas pares y no coincide (e imprime0
) para entradas impares.Pruébalo en línea!
Una alternativa, también para 8 bytes, utiliza una etapa de transliteración para convertir todos los dígitos pares a
x
primero (porque las etapas de transliteración tienen una función incorporada para los dígitos pares / impares):Por supuesto, el formato de entrada más corto (incluso más corto que unario ) sería binario en este caso, donde
0$
sería suficiente una simple expresión regular de . Pero dado que el desafío es esencialmente encontrar el dígito binario menos significativo, la entrada binaria parece sortear el desafío real.fuente
Python,
1110 bytes-1 byte gracias a Griffin
Pruébalo en línea!
Usando bit a bit
and
, regresa0
para pares e1
imparesfuente
1 .__and__
es un char más cortoLOLCODE, 67 bytes
Función que devuelve
WIN
(verdadero) si el número es par, de lo contrario (impar) devolveráFAIL
(falso).Llamada con
C"123"
.fuente
MATL ,
53 bytesPorque las construcciones son aburridas
Esto genera una matriz de valores distintos de cero (que es verdadero) para entradas pares, y una matriz con un cero en su entrada inferior derecha (que es falsa) para entradas impares.
Pruébalo en línea! El código de pie de página es un
if-else
rama para ilustrar la veracidad o falsedad del resultado. Eliminar ese pie de página mostrará implícitamente la matriz.Explicación
Considere la entrada
5
como un ejemplofuente
Java 8, 8 bytes
Pruébalo aquí.
Java 7, 30 bytes
Pruébalo aquí.
Salidas
true
para números pares yfalse
para números imparesSi
1/0
se permitiera en lugar detrue/false
( no lo es, considerando los números de votos aquí ):n->n%2
int c(int n){return n%2;}
fuente
int o(int n){return java.util.stream.IntStream.of(n).map(n->n%2).filter(n==0).findAny().isPresent();}
Piet, 15 codeles / 16 bytes
Intérprete en línea disponible aquí.
Este programa devuelve 0 si la entrada es par y 1 si la entrada es impar.
El texto de arriba representa la imagen. Puede generar la imagen pegándola en el cuadro de texto en la página del intérprete. Por conveniencia, he proporcionado la imagen a continuación donde el tamaño del códel es de 31 píxeles. La cuadrícula está ahí para facilitar la lectura y no forma parte del programa.
Explicación
Este programa utiliza el módulo integrado para determinar si la entrada es par o impar.
Los códeles azul oscuro en la parte inferior izquierda nunca se visitan y se pueden cambiar a cualquier color que no sea el color de un códec vecino. Elegí el azul oscuro porque creo que se ve bien con el resto del programa. El códec negro superior izquierdo también podría ser blanco, pero no cualquier otro color. Elegí el negro porque creo que se ve mejor.
He proporcionado el programa en forma de imagen y texto, ya que no hay un consenso claro sobre cómo calificar los programas de Piet. Siéntase libre de opinar sobre la meta discusión.
fuente
brainfuck , 14 bytes
La entrada y la salida se toman como códigos de caracteres según este meta .
El valor de byte 1 corresponde a números impares y 0 a pares.
Pruébalo en línea!
fuente
JavaScript, 6 bytes
Una función anónima:
Alternativamente con la misma longitud:
Ambos volverán, lo
0|1
que debería cumplir el requisito detruthy|falsey
valores.Prueba ambas versiones en línea
fuente
0|1
son, ¿verdad? @TheLethalCoderJapt , 1 byte
Devuelve
1
para números pares,0
para impares.Pruébalo en línea!
Explicación
Una de las características definitorias de Japt es que, a diferencia de la mayoría de los lenguajes de golf, las funciones no tienen aridad fija; es decir, cualquier función puede aceptar cualquier número de argumentos. Esto significa que a veces puedes omitir argumentos y Japt adivinará lo que quieres.
v
en números es una función que acepta un argumento y devuelve1
si el número es divisible por el argumento, de lo contrario0
. Por ejemplo:Este programa dará salida
1
si la entrada es divisible por 3, y de lo0
contrario. Sucede que el argumento predeterminado es2
, resolviendo así este desafío en un solo byte.Solución alternativa de 1 byte:
¢
convierte la entrada en una cadena de base 2. La-h
bandera devuelve el último carácter de la cadena.Pruébalo en línea!
fuente
brainfuck , 12 bytes
Esto requiere un intérprete con una cinta circular y celdas que se envuelvan. El del TIO tiene 65.536 celdas de 8 bits y cumple los requisitos.
La E / S está en bytes. Las entradas impares se asignan a 0x00 (falso), las entradas pares a un byte distinto de cero (verdad).
Pruébalo en línea!
Cómo funciona
Comenzamos leyendo un byte de entrada con
,
y sumando 2 a su valor con++
. Más adelante veremos por qué es necesario incrementar.Luego, ingresamos un bucle que avanza a la celda de la derecha, le agregamos 2 y repite el proceso a menos que esto establezca el valor de la celda a 0 .
Inicialmente, todas las celdas excepto la celda de entrada mantienen 0 . Si la entrada es impar, agregarle 2 nunca la pondrá a cero. Sin embargo, después de recorrer la cinta 127 veces, la siguiente iteración del ciclo establecerá la celda a la derecha de la celda de entrada en 128 × 2 = 0 (mod 256) , haciendo que el ciclo finalice.
>++
repite el cuerpo del bucle una vez más, por lo que la siguiente celda también se pone a cero y luego se imprime con.
.Por otro lado, si la entrada es n y n es par, el código antes del bucle establece la celda de entrada a n + 2 . Después de recorrer la cinta (256 - (n - 2)) / 2 = (254 - n) / 2 veces, la celda de entrada alcanzará 0 , y la celda a su derecha mantendrá el valor (254 - n) / 2 × 2 = 254 - n . Después de agregar 2 con
>++
,.
imprimirá 256 - n = -n (mod 256) , que no es cero ya que n no es cero.Finalmente, tenga en cuenta que el segundo caso imprimiría 258 - n = 2 - n (mod n) si no incrementamos la entrada antes del bucle, ya que se requeriría un bucle más alrededor de la cinta para poner a cero la celda de entrada. Por lo tanto, el programa fallaría para la entrada 2 .
fuente
Sinclair ZX81 BASIC
124 bytes114 bytes109 bytes5750 bytes BASIC tokenizadosSegún los comentarios de Adám a continuación, aquí está el último candidato de lanzamiento:
Ahora será
PRINT
1
para pares e0
impares. Cero salidas.Aquí hay versiones anteriores de la lista simbólica para fines de referencia:
Aquí está la lista anterior (v0.01) para que pueda ver las mejoras que he realizado, ya que esta nueva lista no solo es más pequeña, sino que es más rápida:
Y aquí está v0.02 (usando subcadenas Sinclair):
fuente
PRINT (A-2*INT A/2)/A
?0
no debería producir unTRUE
oFALSE
, por lo tanto, como0
no se suponía que produjera un resultado, tuve que hacerSTOP
ping al programa. Probablemente interpreté la pregunta original ya que fue publicada por @SIGSEGV demasiado literalmente. Sí, uno puede optimizar y refactorizar, está en lo correcto.05AB1E , 1 byte
Bastante autoexplicativo. Devoluciones
a % 2 == 0
Pruébalo en línea!
fuente
É
es una mejor opción, en mi opinión personal; bromeandoÉ
devolucionesa % 2 == 1
.Retina, 3 bytes
La nueva línea final es significativa. Toma entrada en unario. Salidas 1 para números impares, nada para números pares. Pruébalo en línea!
fuente
C ++, 25 bytes
Esto define una plantilla variable ( una construcción similar a una función ) con un valor igual a la operación bit a bit
input&1
.0
para valores pares,1
para valores impares. El valor se calcula en tiempo de compilación.Requiere C ++ 14.
Pruébalo en línea!
fuente
int o(int v){return v&1;}
) tomaría la misma cantidad de bytes, con la diferencia de que el valor se calcularía en tiempo de ejecución.main()
construcción similar, el programa también se compilaría en unareturn 0
, o incluso no podría compilarse. Esto contradice la meta publicación a la que me vinculé en esta respuesta.[](int x){return x%2;}
Pruébelo en líneaPyth,
32 bytesLo hice. Jugué al golf lo ingobernable. ¡Por una vez, es una solución no trivial que logró obtener ese último byte!
Verdad en valores pares (sin incluir 0, pero eso no es positivo, así que ...).
Explicación:
Por ejemplo
!!2 = !0 = 1
, y!!!3 = !!0 = !1 = 0
Mantendré mi biblioteca de soluciones de 3 bytes aquí abajo.
"Hay otra respuesta con múltiples soluciones de 3 bytes, pero está lejos de ser completa. Agreguemos un par más:
Índices en la lista de forma
[0,1]
modular, dando valores verdaderos en entradas impares.¿Es 2 en la factorización prima de la entrada? (Verdad incluso)
¿Es el MCD de 2 y la entrada 2? (Verdad incluso)
¿XOR-ing la entrada con 1 no lo disminuye? (Verdad incluso)
Básicamente,
Q == Q*-1^Q
donde Q es la entrada, pero se realiza a través de un bucle. (Verdad incluso)Lo mismo que arriba.
Se traduce en
Q <= -Q^Q
(Verdad incluso)Tenga en cuenta que cualquiera de las soluciones anteriores involucradas
g
funcionará<
para la verdad falsa).fuente
C #, 8 bytes
Compila a a
Func<int, bool>
.O si no se permite una función anónima, este método para 21 bytes:
fuente
if (1)
no compila.if (1)
en tu código?if (x)
evalúa como verdadero, entoncesx
es un valor verdadero. Si se evalúa como falso, entonces esfalse
. Así, en pseudo código:if x, disp(true), else disp(false)
. Si eso no se compila, entoncesx
no se puede usar. En MATLAB y varios otros idiomas, nada de lo que se considera verdadero no es cero, mientras que0
yfalse
son considerados falsos. Entonces la cadenaHello
es un valor verdadero en MATLAB. Sin embargo, algunos idiomas requieren que el valor sea un valor booleano (el caso aquí), por lo tanto, debe convertirse a un valor booleano, utilizando<1
.Pyth, 3
Esperaba que Pyth tuviera un byte de 1 o 2 bytes incorporado para esto. En cambio, aquí están las mejores soluciones que pude encontrar:
o
o
fuente
TIS-100, 39 bytes
Por supuesto, este es, más precisamente, un programa para la arquitectura del nodo de ejecución básico T21, emulado por el emulador TIS-100.
Le remitiré a esta respuesta para obtener una explicación fantásticamente profunda de la calificación de los programas TIS-100, así como su estructura.
Explicación:
En pseudocódigo, se vería algo así como:
El T21 no tiene tipos booleanos o valores de verdad / falsedad, por lo que el programa devuelve -1 para números impares y 0 para números pares, a menos que la entrada anterior fuera impar, en cuyo caso devuelve -1 para números pares y 0 para números impares números: si ese hecho lo perturba, esta es una respuesta completa del programa, por lo que puede reiniciar su T21 entre usos.
fuente
Jalea , 1 byte
Pruébalo en línea!
Solo otro incorporado.
Para las personas que no conocen Jelly: tiene bastante capacidad para inferir fragmentos de código faltantes, por lo tanto, no hay mucha diferencia sintáctica entre un fragmento, una función y un programa completo; el intérprete agregará automáticamente código para ingresar argumentos apropiados y generar el resultado. Eso es bastante útil cuando se trata de reglas PPCG, que permiten funciones y programas pero no permiten fragmentos. En el enlace TIO, trato esto como una función y lo ejecuto en cada número entero del 1 al 20 inclusive, pero también funciona como un programa completo.
Jalea , 2 bytes
Pruébalo en línea!
También es bastante corto sin el incorporado. (Esto es bit a bit Y con 1.)
fuente
7 , 18 caracteres, 7 bytes
Pruébalo en línea!
7 no tiene nada parecido a una declaración if normal, y tiene más de una forma idiomática de representar un booleano. Como tal, es difícil saber qué cuenta como verdadero y falso, pero este programa utiliza
1
para la cadena impar y nula para par (los valores verdadero y falso para Perl, en el que está escrito el 7 intérprete). (Es bastante fácil cambiar esto; la salida impar se especifica antes de los primeros 7, la salida par se especifica entre los primeros dos 7s. Sin embargo, podría necesitar un cambio de formato de salida para manejar otros tipos de salida; utilicé los dos salidas distintas más cortas aquí.)7 utiliza una codificación octal comprimida en la que tres bytes de origen representan ocho bytes de programa, por lo que 18 caracteres de origen se representan en 7 bytes en el disco.
Explicación
Al igual que muchos formatos de salida, los "enteros de salida" deshacen cualquier cantidad de niveles de escape antes de la salida; por lo tanto
40
, que combinados hacen una operación de intercambio y escape, se pueden usar en lugar de405
una operación de intercambio (que es un intercambio y escape seguido de un escape). Si estaba utilizando un formato de salida que no es estable con respecto al escape, necesitaría el formato completo405
allí. (Por cierto, la razón por la que necesitábamos escapar de la cadena de formato originalmente es que si la primera salida contiene caracteres no representables, automáticamente fuerza el formato de salida 7. Al escapar elimina los caracteres no representables y permite seleccionar el formato 0).De los seis elementos iniciales de la pila, el más alto es el programa principal (y lo consume
13
lo primero que se ejecuta); el segundo es el023
que selecciona el formato de salida y solicita entrada, y es consumido por esa operación; el tercero se consume como un efecto secundario de la3
operación (se usa para descartar elementos de la pila además de producir resultados); el cuarto,40
es el cuerpo del bucle (y consumido por el5
que ejecuta el bucle); y el quinto y sexto se intercambian varias veces igual a la entrada (por lo tanto, terminan en sus posiciones originales si la entrada es par, o en las posiciones de los demás si la entrada es impar).Puede jugar golf con un personaje cambiando el líder
177
a17
(y confiando en un sexto elemento de pila vacío implícito), pero eso cambiaría la paridad de las salidas a un método menos idiomático que impar-es-verdadero, y no guarda un byte completo (la fuente aún tiene siete bytes de longitud). Como tal, decidí usar la forma más natural de salida, ya que no tiene peor puntaje.fuente
Brain-Flak ,
2220 bytesAquí hay otra respuesta genial en Brain-Flak que también deberías consultar
Pruébalo en línea!
Explicación
Para comenzar, haremos una copia de nuestra entrada con
(({}))
.La copia inferior servirá como un valor verdadero, mientras que la superior se utilizará para el procesamiento real. Esto se hace porque necesitamos que la entrada esté en la parte superior y es bastante engorroso (¡dos bytes adicionales!) Poner un 1 debajo de la entrada.
Entonces comenzamos un ciclo
{({}[()]<>)}
. Esta es una modificación simple en el ciclo de cuenta regresiva estándar que cambia las pilas cada vez que disminuye.Como hay dos pilas, un número par terminará en la parte superior de la pila en la que comenzó, mientras que un número impar terminará en la pila opuesta. El valor copiado permanecerá en su lugar y, por lo tanto, actuará como un marcador de dónde comenzamos.
Una vez que hayamos terminado con el bucle, tenemos un
0
(originalmente la entrada) sentado encima de un valor verdadero (la copia de la entrada) o falso (pila vacía). También tenemos el valor opuesto en la otra pila.Necesitamos deshacernos de lo
0
que puede eliminarse con{}
o<>
. Sin embargo, ambos parecen funcionar y dan resultados opuestos.{}
causa un valor falso para cero, cuando debería devolver la verdad. Esto se debe a que nuestro valor "verdadero" es una copia de la entrada y cero es la única entrada que puede ser falsa.Este problema se resuelve al finalizar el programa con
<>
.(Por supuesto, de acuerdo con la especificación, técnicamente no tengo que admitir cero, pero doy dos opciones, preferiría admitirlo)
fuente
BitCycle ,
19 1716 bytesPruébalo en línea!
Argh, siento que hay una solución de 18 bytes flotando fuera del alcance :(¡Jaja! -2 bytes usando a+
para redirigir bits que provienen de diferentes direcciones.Esto todavía parece que hay demasiado espacio en blanco (¡un total de 6 bytes!)
Explicación:
fuente
Lote, 16 bytes
Salidas 1 para impar, 0 para par. La versión alternativa de 16 bytes también funciona en números negativos:
17 bytes a la salida 1 para pares, 0 para impares:
fuente
(Input):(Output)
"Excel, 10 bytes
O:
Para salida de:
fuente
?[A1]mod 2
; una función de ventana anónima de VBE inmediata que toma entradas[A1]
y salidas de la ventana de VBE inmediata con0
(falsey) que representa pares y1
(verdad) que representa imparJSFuck ,
968593846420 bytesJSFuck es un estilo de programación educativo y esotérico basado en las partes atómicas de JavaScript. Utiliza solo seis caracteres diferentes para escribir y ejecutar código.
Salidas 1 para impar y 0 para par.
Pruébalo en línea!
fuente
alert(prompt()%2)
parece ser 9384 caracteres.[]["fill"]["constructor"]("return this%2")["call"]
.fill
fue elegido porque eso solo cuesta 81 caracteres, el menor de todos los métodos de matriz. Además, podría argumentar que JSFuck no es un lenguaje separado, sino un subconjunto de JavaScript.+
para guardar otros 77 bytes ;-) Y personalmente creo que contestar en JSF está bien; es básicamente un dialecto de JS.Bash + bc,
2114119 bytesLee la entrada de la línea de comandos, expande el valor en la cadena con la operación mod y canaliza la cadena a bc para el cálculo. Salidas 1 para impar, 0 para par.
Casos de prueba:
Edición: ahorró 7 bytes gracias a @ ais523
Edición 2: guardó otros 3 bytes gracias a @Dennis
Edición 3: guardó otros dos gracias a @Dennis
fuente
$1
) en lugar de gastar bytes leyéndolo desde stdin?bc<<<$1%2
.