IUPAC trong sự khôn ngoan không thể vượt qua của họ đã tạo ra một tên thành phần hệ thống cho bất kỳ yếu tố mới được tạo. Đây là tên tạm thời của một yếu tố cho đến khi cuối cùng họ quyết định về một tên thực tế. Nó hoạt động như vậy: mỗi chữ số của một số phần tử được gán một tiền tố dựa trên giá trị của nó. Các tiền tố được nối với 'ium' ở cuối. Khi điều này được thực hiện và nếu bạn nhận được gấp đôi i (ii) hoặc gấp ba lần (nnn), hãy thay thế chúng bằng các i đơn và đôi n. Biểu tượng cho phần tử là chữ cái đầu tiên của mỗi tiền tố được sử dụng nối và kết quả là viết hoa. Các tiền tố được sử dụng là dưới đây.
0 nil 5 pent
1 un 6 hex
2 bi 7 sept
3 tri 8 oct
4 quad 9 enn
Vì vậy, đối với môn gôn này, mã của bạn cần tạo cả tên phần tử và ký hiệu của nó cho một số nguyên dương cho trước. Vì vậy, nếu mã của bạn đã được cung cấp 137, nó sẽ in ra thiết bị xuất chuẩn hoặc trả về cả hai untriseptium
và Uts
. Nó phải có giá trị từ ít nhất 118 đến 558 . Bất kỳ giá trị nào cao hơn đều hợp lệ nếu nó không làm tăng độ dài mã của bạn.
Ví dụ Python hiển thị phương thức:
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 chiến thắng với byte cadmium!