Mañana, 23 de noviembre, es el Día de Acción de Gracias en los Estados Unidos. Para prepararse, debe cocinar algunos pavos ASCII. Sin embargo, dado que está retrasado en la planificación, necesita un programa (o función) que lo ayude con la cantidad de aves que necesita preparar.
.---. _
.' './ )
/ _ _/ /\
=(_____) (__/_/==
===================
Los pavos que encontraste son más bien pequeños, por lo que has descubierto las siguientes proporciones: un pavo se alimentará:
- cuatro personas a las que solo les gusta la carne blanca y tres personas a las que solo les gusta la carne oscura
- o siete personas a las que no les importa de ninguna manera
- o una combinación de los mismos.
Es decir, hay un total de 4 porciones de carne blanca y 3 porciones de carne oscura en cualquier pavo. Además, no puede comprar y cocinar un pavo parcial.
Por ejemplo, para 3 personas a las que solo les gusta la carne blanca, 6 personas a las que solo les gusta la carne oscura y 3 personas a las que no les importa, necesitará dos pavos. Eso da 8 porciones de blanco y 6 porciones de oscuro, que es suficiente para satisfacer a todos y tener algo de carne blanca sobrante:
.---. _ .---. _
.' './ ) .' './ )
/ _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/==
=====================================
Para 20 personas a las que no les importa, necesitará tres pavos y tendrá un poco de sobras blancas u oscuras:
.---. _ .---. _ .---. _
.' './ ) .' './ ) .' './ )
/ _ _/ /\ / _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/== =(_____) (__/_/==
=======================================================
Y así.
Reglas
- Las tres entradas pueden estar en el orden que elija y en cualquier formato conveniente . Indique en su respuesta cómo se toma la entrada.
- Nunca habrá un requisito para más de 25 pavos (por lo tanto, un máximo de 175 personas para alimentar).
- Las nuevas líneas iniciales / finales u otros espacios en blanco son opcionales, siempre que los caracteres se alineen adecuadamente.
- Un programa completo o una función son aceptables. Si es una función, puede devolver el resultado en lugar de imprimirlo.
- La salida puede ser a la consola, devuelta como una lista de cadenas, devuelta como una sola cadena, etc.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
Respuestas:
Befunge-93,
231224 bytesPruébalo en línea!
Los tres valores se leen de stdin en el orden: carne blanca, carne oscura, no me importa.
fuente
APL (Dyalog) ,
120118104 bytes14 bytes guardados gracias a @ Adám
Pruébalo en línea!
El blanco y oscuro exigentes están a la derecha, los no exigentes a la izquierda.
Lástima que la mayor parte del recuento de bytes sea tomada por la cadena actualmente.
¿Cómo?
⍵,⍺++/⍵
- crea una variedad de whity, dark y sum of all all plus non pickys4 3 7÷⍨
- dividir entre cuántos de ellos obtienen sus deseos de un pollo⌈/
- tome la estimación más alta de las tres - así que si tenemos una cantidad extremadamente alta de buscadores de carne oscura, no se dejarán de lado⌈
- techo, en caso de que solo se demande medio polloLuego creamos una cadena,
⊂
la encerramos, luego repetimos la matriz cerrada con la que los pollos calculados multiplican/
y finalmente concatenamos todos los pollos,/
.fuente
'='⍪⍨' .-_''/)\=('[4 19⍴10 10⊤¯35+⎕UCS'###(##-:77-&(#F*####+,&0N&&)#,N0Z&d++#']
con⎕IO←0
.Python 2 , 142 bytes
Pruébalo en línea!
-16 bytes gracias a Lynn
-4 bytes gracias al Sr. Xcoder
y de vuelta a un lambda xD
fuente
SOGL V0.12 , 65 bytes
Pruébalo aquí!
Orden de las entradas es
white
,dark
y luegoeither
.fuente
Python 2 ,
197189174 bytesgracias a Erik the Outgolfer por -12 bytes
gracias a Jonathan Frech por -1 byte
Pruébalo en línea!
fuente
Carbón , 76 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. Explicación:
Imprima un pavo con sangría de 1 espacio.
Imprime la tabla.
Ingrese el número de comedores de carne oscura y blanca.
Repita uno menos del límite máximo de a) un tercio del número de comedores de carne oscura b) un cuarto del número de comedores de carne blanca c) un séptimo del número de comensales.
Haz una copia del pavo.
fuente
Excel VBA,
222219211198 BytesFunción de ventana inmediata anónima VBE que toma la entrada del rango
[A1:C1]
con el orden de carne blanca, carne oscura e indiferente en ese orden y las salidas al rango[D1]
.Inicialmente, la solución encuentra el número correcto de pavos y luego repite el patrón del pavo tantas veces. Idealmente, esto se generaría directamente en la ventana inmediata de VBE como se muestra en la siguiente función
Inicialmente, esta versión produce la respuesta correcta, sin embargo, el compilador lo autoformata inmediatamente, al igual
_
que el carácter de continuación de línea, y por lo tanto se mueve para tener solo un carácter(espacio) a su izquierda, rompiendo el patrón.
Ejemplo que se muestra a continuación para mayor claridad.
Para corregir esto, el último carácter de espacio (
, char 160, Alt + 255)
, char 32) antes de la
_
línea uno de la salida se reemplaza con un espacio sin interrupción (-3 bytes para el uso de la
1
declaración dividida delimitada-8 bytes para usar moviéndose
=
en la división y usando la suma de cadenas sobre la concatenación-13 bytes para el uso de un espacio sin interrupciones para evitar el autoformato de la salida
fuente
Kotlin ,
207198 bytesgracias a Taylor Scott por -7 bytes
Esto aún no funciona en TIO , ya que requiere Kotlin 1.1Pruébalo en línea!
fuente
JavaScript (ES6),
180179 bytesEmite una matriz de cadenas.
Mostrar fragmento de código
JavaScript (ES6),
182181 bytesEmite una sola cadena.
Mostrar fragmento de código
-1 byte (Arnauld): en
a+3>>4
lugar de(a+3)/4)
fuente