Demain, le 23 novembre, c'est le jour de Thanksgiving aux États-Unis. Pour vous préparer, vous devez préparer des dindes ASCII. Cependant, comme vous êtes en retard dans la planification, vous avez besoin d'un programme (ou d'une fonction) pour vous aider avec combien d'oiseaux vous devez préparer.
.---. _
.' './ )
/ _ _/ /\
=(_____) (__/_/==
===================
Les dindes que vous avez trouvées sont plutôt petites, vous avez donc compris les ratios suivants - une dinde se nourrira:
- quatre personnes qui aiment seulement la viande blanche et trois personnes qui aiment seulement la viande brune
- ou sept personnes qui ne se soucient pas de toute façon
- ou une combinaison de ceux-ci.
Cela signifie qu'il y a un total de 4 portions de viande blanche et 3 portions de viande brune dans une dinde donnée. De plus, vous ne pouvez pas acheter et cuire une dinde partielle.
Par exemple, pour 3 personnes qui n'aiment que la viande blanche, 6 personnes qui n'aiment que la viande brune et 3 personnes qui s'en moquent, vous aurez besoin de deux dindes. Cela donne 8 portions de blanc et 6 portions de noir, ce qui est suffisant pour satisfaire tout le monde et avoir des restes de viande blanche:
.---. _ .---. _
.' './ ) .' './ )
/ _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/==
=====================================
Pour 20 personnes qui s'en moquent, vous aurez besoin de trois dindes et il vous restera un peu de blanc ou de noir:
.---. _ .---. _ .---. _
.' './ ) .' './ ) .' './ )
/ _ _/ /\ / _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/== =(_____) (__/_/==
=======================================================
Etc.
Règles
- Les trois entrées peuvent être dans l'ordre de votre choix et dans n'importe quel format pratique . Veuillez indiquer dans votre réponse comment la saisie est effectuée.
- Il n'y aura jamais besoin de plus de 25 dindes (donc un maximum de 175 personnes à nourrir).
- Les sauts de ligne de début / fin ou d'autres espaces sont facultatifs, à condition que les caractères s'alignent correctement.
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- La sortie peut être vers la console, renvoyée sous forme de liste de chaînes, retournée sous forme de chaîne unique, etc.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
Réponses:
Befunge-93,
231224octetsEssayez-le en ligne!
Les trois valeurs sont lues à partir de stdin dans l'ordre: viande blanche, viande noire, peu importe.
la source
APL (Dyalog) ,
120118104 octets14 octets économisés grâce à @ Adám
Essayez-le en ligne!
Le blanc et le noir difficiles sont à droite, le non difficile à gauche.
Dommage que la plupart du nombre d'octets soit pris par la chaîne actuellement.
Comment?
⍵,⍺++/⍵
- crée un tableau de whity, darky et la somme de tous, plus non pickys4 3 7÷⍨
- divisez par combien d'entre eux obtiennent leurs souhaits d'un poulet⌈/
- prenez l'estimation la plus élevée des trois - donc si nous avons une quantité extrêmement élevée de demandeurs de viande brune, ils ne seront pas laissés de côté⌈
- plafond, dans le cas où seul un demi-poulet est demandéEnsuite, nous créons une chaîne,
⊂
l'enfermons avec , puis répétons la matrice fermée les temps de poulets calculés avec/
, et enfin concaténons tous les poulets avec,/
.la source
'='⍪⍨' .-_''/)\=('[4 19⍴10 10⊤¯35+⎕UCS'###(##-:77-&(#F*####+,&0N&&)#,N0Z&d++#']
avec⎕IO←0
.Python 2 , 142 octets
Essayez-le en ligne!
-16 octets grâce à Lynn
-4 octets grâce à M. Xcoder
et retour à un lambda xD
la source
SOGL V0.12 , 65 octets
Essayez-le ici!
Ordre des entrées est
white
,dark
et puiseither
.la source
Python 2 ,
197189174 174 octetsmerci à Erik l'Outgolfer pour -12 octets
merci à Jonathan Frech pour -1 octet
Essayez-le en ligne!
la source
Fusain , 76 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Imprimez une dinde en retrait d'un espace.
Imprimez le tableau.
Entrez le nombre de mangeurs de viande foncés et blancs.
Répétez un de moins que le plafond du maximum de a) un tiers du nombre de mangeurs de viande brune b) un quart du nombre de mangeurs de viande blanche c) un septième du nombre de convives.
Faites une copie de la dinde.
la source
Excel VBA,
222219211198 octetsFonction de fenêtre immédiate VBE anonyme qui prend l'entrée de la plage
[A1:C1]
avec l'ordre de la viande blanche, la viande brune et indifférente dans cet ordre et sort vers la plage[D1]
.Initialement, la solution trouve le nombre correct de dindes, puis elle répète le modèle de dinde autant de fois. Idéalement, cela serait ensuite directement sorti sur la fenêtre immédiate du VBE comme indiqué par la fonction ci-dessous
Cette version produit initialement la réponse correcte, cependant, elle est immédiatement mise en forme automatiquement par le compilateur, tout comme
_
le caractère de continuation de ligne, et est donc déplacée pour n'avoir qu'un seul caractère(espace) à sa gauche, cassant le motif.
Exemple illustré ci-dessous pour plus de clarté
Pour corriger cela, le dernier caractère d'espace (
, caractère 160, Alt + 255)
, caractère 32) avant celui
_
en ligne de la sortie est remplacé par un espace insécable (-3 octets pour l'utilisation d'une
1
instruction de division délimitée-8 octets pour utiliser le déplacement
=
dans le fractionnement et l'utilisation de l'ajout de chaînes sur la concaténation-13 octets pour l'utilisation d'un espace insécable pour empêcher la mise en forme automatique de la sortie
la source
Kotlin ,
207198 octetsmerci à Taylor Scott pour -7 octets
Cela ne fonctionne pas encore sur TIO , car il nécessite Kotlin 1.1Essayez-le en ligne!
la source
JavaScript (ES6),
180179 octetsGénère un tableau de chaînes.
Afficher l'extrait de code
JavaScript (ES6),
182181 octetsGénère une seule chaîne.
Afficher l'extrait de code
-1 octet (Arnauld):
a+3>>4
au lieu de(a+3)/4)
la source