W fizyce atomowej i chemii kwantowej The konfiguracja elektronowa jest rozkład elektronów o z atomem w orbitali atomowych . Na przykład konfiguracja elektronowa atomu neonu to 1s 2 2s 2 2p 6 . (Z Wikipedii )
Wyzwanie
Wyzwanie polega na pobraniu liczby reprezentującej liczbę atomową elementu i wysłaniu konfiguracji elektronowej tego elementu, zgodnie z zasadą Aufbau .
Żelazo (26) ma konfigurację elektronową . Jednak indeksy górne są niepotrzebne; wyjście dla 26 powinno być zgodne z .1s2 2s2 2p6 3s2 3p6 3d6 4s2
1s2 2s2 2p6 3s2 3p6 3d6 4s2
Specyfikacja
- Nie musisz obsługiwać żadnych danych wejściowych poza zakresem
1 <= n <= 118
. - Twój wynik powinien wyglądać mniej więcej przypadków testowych, ale można używać niż cyfra / znaków (oprócz
s
,p
,d
, if
), aby oddzielić różne orbitale. - Musisz zwrócić / wydrukować ciąg zawierający nazwy / wartości / ograniczniki orbitalne; nie można po prostu zwrócić / wydrukować tablicy.
- Nie musisz zajmować się żadnymi wyjątkami od zasady Aufbau; w przypadku wyjątków drukowanie „niepoprawnej” konfiguracji jest w porządku.
Przykłady:
Input -> Valid output -> Invalid output
16 -> 1s2 2s2 2p6 3s2 3p4 -> 1s22s22p63s23p4
16 -> 1s2, 2s2, 2p6, 3s2, 3p4 -> [[1, 2], [2, 2], [2, 6], [3, 2], [3, 4]]
17 -> 1s2+2s2+2p6+3s2+3p5 -> 1s2s2s2s2p6p3s2s3p5
Oto lista wszystkich elektronicznych orbitali. Maksymalne wartości, które mogą zawierać, są poniżej nazwy:
name: 1s 2s 2p 3s 3p 3d 4s 4p 4d 5s 5p 4f 5d 6s 6p 5f 6d 7s 7p
max: 2 2 6 2 6 10 2 6 10 2 6 14 10 2 6 14 10 2 6
Przypadki testowe
Input -> Output
1 -> 1s1
2 -> 1s2
16 -> 1s2 2s2 2p6 3s2 3p4
50 -> 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 5s2 5p2
115 -> 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 5s2 5p6 4f14 5d10 6s2 6p6 5f14 6d10 7s2 7p3
Oto pełna lista i rodzaj implementacji referencji ( Wypróbuj online! )
Warunki wygranej
Ponieważ jest to kod-golf , wygrywa najkrótszy kod!
3d
wydaje się być wypełniony przed4s
,4d
przed5s
,6s
po4f
i5d
, co narusza zasadę Madelunga . Czy powinniśmy używać programów do golfa, które drukują nieprawidłowe konfiguracje elektronów na pastebinie?4s1 3d5
zamiast (atomowy nr 24) zamiast4s2 3d4
). Widzę, że został o to poproszony w piaskownicy, ale nigdy nie otrzymał odpowiedzi. Czy ignorujemy ten problem?Odpowiedzi:
Galaretka ,
63 62 5655 bajtówWypróbuj online!
Podziękowania dla user202729 za oszczędność 6 bajtów z podstawową dekompresją!
Wyjaśnienie
Najpierw tworzę listę
[[1,2,2,3,3,3,4,4,4,5,5,4,5,6,6,5,6,7,7],'sspspdspdspfdspfdsp']
z kodem“ŒµḊuÆẓƙỊ’D,“çƥ÷£ḟ’ṃ“spdf”¤
w drugim łączu.“ŒµḊuÆẓƙỊ’
jest liczbą1223334445545665677
skompresowaną do bazy 250.D
daje zamienia to w listę cyfr.“çƥ÷£ḟ’ṃ“spdf”
zmienia podstawę 250 ilość“çƥ÷£ḟ’
na podstawie 4, z indeksami ją w ciągu“spdf”
otrzymując'sspspdspdspfdspfdsp'
. Przyczynił się do tego użytkownik202729.Lista jest następnie przenoszona do linku do pięści przez
Ç
. Pierwszy link wykonuje następujące czynności:Teraz wróć do drugiego linku. Z
xÇ
powtarzamy każdego z elementów w każdym podmenu[[1,2,2,3...7],['sspspd...p']]
numerami w naszej nowej listy[2,2,6...]
. To daje[[1,1,2,2,2,2...],['sssspp...']]
.Z
zamyka dwie podlisty, które dają[[1,'s'],[1,'s'],[2,'s']...]
.Teraz do głównego linku.
¢
wywołuje drugi link, który daje końcową listę krotek opisanych powyżej. Załóżmy, że dane wejściowe do programu to 5 jako przykład.źródło
sspspdspd...
ciągu?“çƥ÷£ḟ’ṃ“spdf”¤
na -6 bajtów. Używane to za baza 250 i całkowitejṃ
dla bazowej dekompresji.Tryb imperatywny , 930 bajtów
Wersja online
Jest to bardzo prosta implementacja. W wersji grałem po prostu zastąpione rozmowę z krótkich słowach podoba
ilo
,yö
,iso
,oma
, etc.Nie golfowany:
Wersja online
Tłumaczenie:
Tłumaczenie jest przybliżone, musiałem zmienić kolejność słów, aby angielski był bardziej naturalny.
źródło
Python 2 ,
129128 bajtów-1 bajt dzięki notjagan
Wypróbuj online!
źródło
Węgiel drzewny , 72 bajty
Wypróbuj online!
Tutaj masz pełną wersję .
źródło
JavaScript (ES6), 102 bajty
Przypadki testowe
Pokaż fragment kodu
Sformatowane i skomentowane
źródło
Szybki ,
177175156 bajtówLoosly na podstawie odpowiedzi JavaScript @ Arnauld
Wypróbuj online!
Bez spacji w grupach elektronów
190187169 bajtów:Wypróbuj online!
źródło
C (gcc),
260187167156152147143138 bajtówWypróbuj online! Grał w golfa od realizacji referencyjnej.
StackExchange usuwa niedrukowalne, więc wartość parametru
m
jest zastępowana przez"..."
.Oto odwracalny zrzut heksowy programu, ponieważ używa on niedrukowalnych znaków w ciągu, który zastępuje tablicę liczb całkowitych
{2,2,6,2,6,10,2,6,10,2,6,14,10,2,6,14,10,2,6}
literałowymi wartościami bajtów liczb całkowitych.Alternatywnie możesz po prostu skopiować kod z linku TIO.
źródło