Die IUPAC hat in ihrer unerträglichen Weisheit einen systematischen Elementnamen für jedes neu erstellte Element erstellt. Dies ist der temporäre Name eines Elements, bis sie sich endgültig über einen tatsächlichen Namen entschieden haben. Das funktioniert so: Jeder Ziffer einer Elementnummer wird anhand ihres Wertes ein Präfix zugewiesen. Die Präfixe werden am Ende mit 'ium' verkettet. Wenn dies erledigt ist und Sie doppelte i (ii) oder dreifache n (nnn) erhalten, ersetzen Sie sie durch einzelne i und doppelte n. Das Symbol für das Element ist der erste Buchstabe jedes verwendeten Präfixes, verkettet und das Ergebnis großgeschrieben. Die verwendeten Präfixe sind unten.
0 nil 5 pent
1 un 6 hex
2 bi 7 sept
3 tri 8 oct
4 quad 9 enn
Daher muss Ihr Code für diesen Golf sowohl den Elementnamen als auch das Symbol für eine bestimmte positive Ganzzahl generieren. Wenn Ihr Code also mit 137 angegeben wurde, sollte er auf stdout gedruckt werden oder beide untriseptium
und zurückgeben Uts
. Es sollte mindestens von 118 bis 558 gültig sein . Jeder höhere Wert ist gültig, wenn er die Länge Ihres Codes nicht erhöht.
Python-Beispiel mit der Methode:
def elename(n):
'''Return name and symbol of new element for given element number.'''
prefixes=['nil','un','bi','tri','quad','pent','hex','sept','oct','enn']
nmeFixes, symFixes = [], []
while n: # each digit of element number is assigned a prefix
n, i = divmod(n, 10)
pf = prefixes[i]
symFixes.append(pf[0]) # symbol uses only first letter of prefix
nmeFixes.append(pf)
# loop assembled prefixes in reverse order
nmeFixes.reverse()
symFixes.reverse()
nmeFixes.append('ium') # suffix
name = ''.join(nmeFixes)
symb = ''.join(symFixes).capitalize()
# apply rule about too many n's or i's
name = name.replace('nnn','nn') # can happen with -90-
name = name.replace('ii','i') # -2ium or -3ium
return name, symb
Eric Towers gewinnt mit Cadmiumbytes!