Nach einer Herausforderung in einem Programmierbuch ist PNZ ein Spiel, bei dem der Benutzer drei eindeutige Ziffern in der richtigen Reihenfolge erraten muss.
Regeln :
- Eine zufällige dreistellige Zahl ohne wiederholte Ziffern wird generiert. (Dies ist, was der Benutzer zu erraten versucht)
- Der Benutzer gibt eine dreistellige Schätzung ein, die vom Programm ausgewertet werden soll.
- Geben Sie für jede richtige Ziffer an der richtigen Stelle ein "P" aus.
- Geben Sie für jede richtige Ziffer an einer falschen Stelle ein "N" aus.
- Geben Sie ein "Z" nur aus, wenn keine Ziffern korrekt sind.
- Akzeptieren Sie weiterhin Eingaben, bis alle Ziffern korrekt und an der richtigen Stelle sind, und geben Sie dann "PPP" gefolgt von der Anzahl der Raten in einer neuen Zeile aus.
Hinweis :
Eine "richtige Ziffer" bedeutet, dass eine der Ziffern in der Vermutung auch eine der Ziffern in der dreistelligen Zufallszahl ist.
Eine "richtige Stelle" bedeutet, dass es sich um eine "richtige Stelle" handelt UND sich an derselben Stelle wie die dreistellige Zufallszahl befindet.
Die Ausgabereihenfolge sollte alle "P" zuerst sein, dann "N" oder nur "Z", wenn nichts korrekt ist.
Wenn ein Eingang wiederholende Ziffern enthält, „P“ Vorrang vor „N“ (Beispiel:
Number: 123
Input: 111
Output: P
)(OPTIONAL) Eingaben, die nicht genau dreistellig sind, sollten weder ausgewertet noch für die laufende Summe der Vermutungen berücksichtigt werden
Beispiel, wenn die generierten Ziffern 123 waren
> 147
P
> 152
PN
> 126
PP
> 123
PPP
4
Beispiel, wenn die generierten Ziffern 047 waren
> 123
Z
> 456
N
> 478
NN
> 947
PP
> 047
PPP
5
Das ist CodeGolf, also gewinnt das kürzeste Programm!
quelle
Antworten:
JavaScript (ES6) 184
187 195Bearbeiten Gespeichert 8 Bytes thx @Neil Bearbeiten Gespeichert 3 Bytes thx @ user81655
(Zeilenumbrüche werden als 1 Byte gezählt)
Prüfung
quelle
d.splice(v=Math.random()*-~l,1)
spart Ihnen 5 oder vielleicht sogar 8 Bytes (auf Kosten einiger Leistung).PowerShell v2 +,
177231168 ByteSeltsamerweise konnte ich die fixe Version kürzer als die unfixierte Version spielen ... oO
Vielen Dank an @ edc65 für seine Unterstützung und Inspiration!
Erläuterung:
Beispiellauf:
quelle
R ,
178166 BytesProbieren Sie es online!
TIO Link ist nur für die Anzahl der Bytes - versuchen Sie dies in Ihrer R-Konsole! (oder lassen Sie es mich wissen, wenn es eine alternative Option gibt).
In der Historie finden Sie weniger Golf spielende, besser lesbare Versionen.
quelle