Wyzwanie
Biorąc pod uwagę nazwę elementu, wypisz jego konfigurację elektronową.
Wejście
Twój wkład będzie pełną nazwą każdego elementu (zakres od wodoru, 1, do wapnia, 20) z pewnymi wyjątkami - powinieneś być w stanie uwzględnić następujące dane wejściowe:
Natrium - This is sodium
Kalium - This is potassium
Pamiętaj, że dane wejściowe „sód” i „potas” muszą być nadal aktualne.
Pierwsza litera zawsze będzie pisana wielkimi literami.
Wynik
Na tej stronie można znaleźć wskazówki dotyczące generowania schematu konfiguracji elektronów.
Poniższa lista pokazuje maksymalną liczbę elektronów w każdej powłoce:
- 1. skorupa - 2 elektrony
- Druga powłoka - 8 elektronów
- Trzecia skorupa - 8 elektronów
- Czwarta powłoka - 14 elektronów (chociaż maksymalna wymagana liczba elektronów w tej powłoce to 2)
Przykładowy wynik konfiguracji elektronów jest następujący:
Na środku schematu musi znajdować się symbol składający się z jednej do dwóch liter.
Można użyć kropek lub krzyżyków, a ich położenie nie ma znaczenia.
Wyjście nie musi być dokładnie takie, ale musi być grafiką ASCII. Jedyną rzeczą, której nie może być, jest forma 2.8.8.1
lub jakakolwiek inna forma tego typu.
Kręgi nie są konieczne
Wbudowane funkcje, które mają dostęp do układu okresowego pierwiastków lub tworzą diagramy lub konfiguracje elektronów, są niniejszym zabronione.
Zwycięski
Najkrótszy program w bajtach wygrywa.
Odpowiedzi:
MATLAB,
360 363 290 304295 bajtówZobacz na dole postu, jak przetestować stary kod za pomocą Octave.
Ten kod przyjmuje nazwę elementu (w tym Kalium itp.) I wyświetla dane wyjściowe w formacie ascii po zmianie reguł.
Reguły uległy zmianie, ponieważ napisałem kod wymagający wyjścia ASCII. Zaktualizowałem swój kod, aby to zrobić kosztem 14 bajtów. Zaoszczędziłem 9 bajtów, pozbywając się reshape () i po prostu zmieniając
a
matrycę na właściwy kształt.Oto wyjaśnienie, jak to działa:
To jest wynik dla wodoru (zignoruj kropki, aby uniknąć usuwania linii podczas pokazania tutaj):
A oto wynik produkcji wapnia.
I wyjście dla Natrium, które teraz działa poprawnie (przed Natrium spowodowałoby to Azot!).
Nowa wersja kodu nie działa z Octave, ponieważ używa go
spiral()
tylko w MATLAB.Możesz jednak przetestować stary kod za pomocą interpretera internetowego Octave :
Uruchom to, a następnie wprowadź ciąg typu: „Wodór” (w tym znaki cudzysłowu). Gdy to zrobisz, będziesz musiał kliknąć przycisk rozwijania wykresu (wygląda jak mały symbol wykresu w prawym górnym rogu interpretera), aby pokazać całą rzecz. Niestety w Octave dodaje linie łączące punkty, co nie dzieje się w MATLAB-ie. Ale przynajmniej pozwala przetestować logikę. Jak mówię, jest to nadal wyjście graficzne, ale masz pojęcie o tym, jak elementy są wyszukiwane.
źródło
Python 3, 529 bajtów
dziękuję Thomasowi i Becie za wskazanie pewnych rzeczy, które powinny być dla mnie oczywiste, oszczędzając mi trochę bajtów
Ogromne ulepszenie: użycie odcinania łańcucha zamiast wyszukiwania dyktafonu
Nie najładniejszy z programów lub wyjść, ale hej, potrzebowaliśmy czegoś, aby rozpocząć to wyzwanie. Wypróbuj online .
źródło
"H 1"
i podzielić je później w przestrzeni?źródło