Morgen, am 23. November, ist Thanksgiving in den Vereinigten Staaten. Zur Vorbereitung müssen Sie einige ASCII-Puten kochen. Da Sie jedoch zu spät in der Planung sind, benötigen Sie ein Programm (oder eine Funktion), um zu ermitteln, wie viele Vögel Sie vorbereiten müssen.
.---. _
.' './ )
/ _ _/ /\
=(_____) (__/_/==
===================
Die Puten, die Sie gefunden haben, sind eher klein, also haben Sie die folgenden Verhältnisse herausgefunden - eine Pute füttert:
- vier Leute, die nur weißes Fleisch mögen und drei Leute, die nur dunkles Fleisch mögen
- oder sieben Leute, die sich nicht darum kümmern
- oder eine Kombination davon.
Das heißt, es gibt insgesamt 4 Portionen weißes Fleisch und 3 Portionen dunkles Fleisch in einem bestimmten Truthahn. Außerdem können Sie einen Teil der Pute nicht kaufen und kochen.
Zum Beispiel werden für 3 Personen, die nur weißes Fleisch mögen, 6 Personen, die nur dunkles Fleisch mögen, und 3 Personen, die sich nicht darum kümmern, zwei Puten benötigt. Das ergibt 8 Portionen Weiß und 6 Portionen Dunkel, was ausreicht, um alle zufriedenzustellen und etwas übriggebliebenes weißes Fleisch zu haben:
.---. _ .---. _
.' './ ) .' './ )
/ _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/==
=====================================
Für 20 Personen, die sich nicht darum kümmern, brauchen Sie drei Puten und haben entweder ein wenig weiße oder dunkle Reste:
.---. _ .---. _ .---. _
.' './ ) .' './ ) .' './ )
/ _ _/ /\ / _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/== =(_____) (__/_/==
=======================================================
Und so weiter.
Regeln
- Die drei Eingänge können in beliebiger Reihenfolge und in einem beliebigen Format eingegeben werden . Bitte geben Sie in Ihrer Antwort an, wie die Eingabe erfolgt.
- Es werden niemals mehr als 25 Puten benötigt (also maximal 175 Personen zu füttern).
- Führende / nachfolgende Zeilenumbrüche oder andere Leerzeichen sind optional, sofern die Zeichen richtig ausgerichtet sind.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Die Ausgabe kann an die Konsole erfolgen, als Liste von Zeichenfolgen zurückgegeben werden, als einzelne Zeichenfolge zurückgegeben werden usw.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
Antworten:
Befunge-93,
231224 BytesProbieren Sie es online!
Die drei Werte werden von stdin in der Reihenfolge gelesen: weißes Fleisch, dunkles Fleisch, egal.
quelle
APL (Dyalog) ,
120118104 BytesDank @ Adám wurden 14 Bytes gespeichert
Probieren Sie es online!
Das wählerische Weiß und Dunkel sind rechts, das nicht wählerische links.
Schade, dass der Großteil der Byteanzahl von der aktuellen Zeichenfolge übernommen wird.
Wie?
⍵,⍺++/⍵
- Erzeugt eine Reihe von Weiß-, Dunkel- und Gesamtsummen sowie Non-Pickys4 3 7÷⍨
- Teilen Sie durch, wie viele von ihnen ihre Wünsche von einem Huhn erhalten⌈/
- nehmen Sie die höchste Schätzung der drei - wenn wir also eine extrem hohe Anzahl dunkler Fleischsucher haben, werden sie nicht beiseite gelassen⌈
- Höchstgrenze, falls nur ein halbes Huhn nachgefragt wirdDann erstellen wir einen String, umschließen ihn mit
⊂
, wiederholen die eclosed-Matrix mit den berechneten Hühnern/
und verketten schließlich alle Hühner mit,/
.quelle
'='⍪⍨' .-_''/)\=('[4 19⍴10 10⊤¯35+⎕UCS'###(##-:77-&(#F*####+,&0N&&)#,N0Z&d++#']
mit⎕IO←0
.Python 2 , 142 Bytes
Probieren Sie es online!
-16 Bytes dank Lynn
-4 Bytes dank Mr. Xcoder
und zurück zu einem Lambda xD
quelle
SOGL V0.12 , 65 Bytes
Probieren Sie es hier aus!
Reihenfolge der Eingänge ist
white
,dark
und danneither
.quelle
Python 2 ,
197189174 Bytesdanke an Erik den Outgolfer für -12 Bytes
danke an Jonathan Frech für -1 Bytes
Probieren Sie es online!
quelle
Kohle , 76 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:
Drucken Sie einen mit 1 Leerzeichen eingerückten Truthahn.
Drucken Sie die Tabelle.
Geben Sie die Anzahl der dunklen und weißen Fleischesser ein.
Wiederholen Sie eine unter der Obergrenze des Maximums von a) einem Drittel der Anzahl dunkler Fleischesser b) einem Viertel der Anzahl weißer Fleischesser c) einem Siebtel der Anzahl der Gäste.
Machen Sie eine Kopie des Truthahns.
quelle
Excel VBA,
222219211198 BytesAnonyme VBE-Direktfensterfunktion, die Eingaben aus dem Bereich
[A1:C1]
in der Reihenfolge von weißem Fleisch, dunklem Fleisch und in dieser Reihenfolge gleichgültig nimmt und in den Bereich ausgibt[D1]
.Zunächst findet die Lösung die richtige Anzahl von Truthähnen und wiederholt dann das Truthahnmuster so oft wie möglich. Im Idealfall wird dies dann direkt auf das VBE-Direktfenster ausgegeben, wie die folgende Funktion zeigt
Diese Version liefert anfangs die richtige Antwort, wird jedoch vom Compiler sofort automatisch formatiert, ebenso
_
wie das Zeilenfortsetzungszeichen, und wird daher so verschoben, dass nur ein( Leer- ) Zeichen nach links verschoben wird, wodurch das Muster gebrochen wird.
Beispiel unten zur Verdeutlichung
Um dies zu korrigieren, wird das letzte Leerzeichen (
, char 160, Alt + 255) ersetzt.
, char 32) vor dem
_
in Zeile 1 der Ausgabe durch ein nicht unterbrechendes Leerzeichen (-3 Bytes für die Verwendung einer getrennten
1
Split-Anweisung-8 Bytes für das Verschieben
=
in den Split und das Hinzufügen von Strings über die Verkettung-13 Byte für die Verwendung eines nicht unterbrechenden Speicherplatzes, um die automatische Formatierung der Ausgabe zu verhindern
quelle
Kotlin ,
207198 BytesDank an Taylor Scott für -7 Bytes
Dies funktioniert unter TIO noch nicht, da Kotlin 1.1 erforderlich istProbieren Sie es online!
quelle
JavaScript (ES6),
180179 ByteGibt ein Array von Strings aus.
Code-Snippet anzeigen
JavaScript (ES6),
182181 BytesGibt eine einzelne Zeichenfolge aus.
Code-Snippet anzeigen
-1 Byte (Arnauld):
a+3>>4
statt(a+3)/4)
quelle