Sie haben eine Reihe von Kacheln mit den Symbolen aus dem Periodensystem. Jedes Symbol erscheint einmal. Sie überlegen sich Wörter, aber Sie möchten wissen, ob es möglich ist oder nicht.
Die Herausforderung
Schreiben Sie ein Programm in Ihrer bevorzugten Sprache, das einen String als Eingabeparameter verwendet. Sie können davon ausgehen, dass die Eingabe nicht null ist, keine Leerzeichen enthält und aus ASCII-Zeichen besteht.
Ihr Programm sollte diese Zeichenfolge verwenden und einen Wahrheitswert ausgeben, wenn dieses Wort aus Symbolen aus dem Periodensystem der Elemente bestehen kann, und einen Falsey-Wert, wenn das Wort dies nicht kann.
Um diese Herausforderung zu erschweren, dürfen Sie ein Symbol nicht zweimal verwenden. Also, wenn Sie Stickstoff verwenden N
, dürfen Sie nicht verwendenN
einmal mit demselben Wort verwenden.
Regeln
Standardlücken sind nicht erlaubt. Sie können Symbole aus den Elementen 1-118 (Wasserstoff zu Ununoctium) verwenden. Eine Liste aller Elemente finden Sie hier . Sie können die Liste der Symbole aus einer Datei lesen oder Argumente eingeben, wenn Sie dies wünschen.
Testfälle:
Laos - true (LaOs)
Amputation - true (AmPuTaTiON)
Heinous - true (HeINoUS)
Hypothalamus - true (HYPoThAlAmUS)
Singapore - true (SiNGaPoRe)
Brainfuck - true (BRaInFUCK)
Candycane - false
Dies ist eine Code Golf Herausforderung, der kürzeste Code gewinnt.
BEVOR SIE ALS DUPLIKAT SCHLIESSEN: Auch wenn dies dieser Herausforderung ähnlich zu sein scheint , ist es meines Erachtens anders, weil es nicht "Generiere eine Liste aller Wörter, die aus dem Periodensystem möglich sind" ist, sondern "Nimm willkürliche Eingaben auf und bestimme, ob es kann aus dem Periodensystem gemacht werden '
Antworten:
05AB1E, 16 Bytes
Erklärt
Warnung: Sehr langsam. Ich empfehle, eine viel kleinere Teilmenge von Elementen im Online-Interpreter zu testen.
Nimmt die Liste der Elemente als erstes Argument.
Nimmt das zu testende Wort als zweites Argument.
Gibt 1 für wahr und 0 für falsch zurück.
Probieren Sie es online an einer kleinen Teilmenge von Elementen aus
quelle
Brachylog , 7 Bytes
Rufen Sie mit der Liste der Symbole (alle in Kleinbuchstaben) als Eingabe und dem Wort als Ausgabe auf, z
run_from_atom('spc~@l.', ["he":"n":"o":"li"], "Nohe").
.Warnung: Dies ist äußerst ineffizient, wenn alle Symbole in der Liste enthalten sind.
Erläuterung
quelle
JavaScript (Firefox 48 oder früher), 103 Byte
quelle
Pyth - 13 Bytes
Überprüft nur, ob eine Partition der Eingabe in Kleinbuchstaben alle Teile des Periodensystems enthält.
Auf dem Handy konnte also keine aktuelle Testsuite eingerichtet werden, aber versuchen Sie dies .
quelle
Pyth, 11 Bytes
Probieren Sie es online aus. Testsuite.
Geschrieben auf meinem Handy, sollte aber funktionieren. Sehr langsam für eine große Anzahl von Elementen oder eine lange Zeichenfolge.
Erläuterung
./
) der Eingabe (z
).S
) Sie jede Partition (M
).R
), ob sie in (}
) der Liste aller Teilmengen (y
) desS
als Eingabe (Q
) angegebenen sortierten ( ) Periodensystems enthalten ist .s
) die resultierende Liste der Booleschen Werte.quelle