Tantangan
Diberi nama elemen, output konfigurasi elektronnya.
Memasukkan
Input Anda akan menjadi nama lengkap setiap elemen (rentangnya dari Hidrogen, 1, hingga Kalsium, 20) dengan beberapa pengecualian - Anda harus dapat memperhitungkan input berikut:
Natrium - This is sodium
Kalium - This is potassium
Perhatikan bahwa input "sodium" dan "potassium" masih harus valid.
Huruf pertama akan selalu ditulis dengan huruf besar.
Keluaran
Anda dapat merujuk ke halaman web ini untuk panduan tentang cara membuat diagram konfigurasi elektron.
Daftar berikut menunjukkan jumlah maksimum elektron di setiap kulit:
- Shell 1 - 2 elektron
- Shell ke-2 - 8 elektron
- Shell ke-3 - 8 elektron
- Shell ke-4 - 14 elektron (walaupun jumlah maksimum elektron dalam shell ini adalah 2)
Contoh output dari konfigurasi elektron adalah sebagai berikut:
Di tengah diagram harus simbol satu hingga dua huruf elemen.
Baik titik atau garis silang dapat digunakan dan di mana mereka ditempatkan tidak masalah.
Outputnya tidak harus persis seperti ini tetapi harus berupa grafik ASCII. Satu hal yang tidak mungkin adalah dalam bentuk 2.8.8.1
atau bentuk lain seperti ini.
Lingkaran tidak perlu
Fungsi bawaan yang mengakses tabel elemen periodik atau menghasilkan diagram atau konfigurasi elektron dengan ini tidak diizinkan.
Kemenangan
Program terpendek dalam byte menang.
Jawaban:
MATLAB,
360 363 290 304295 byteLihat di bagian bawah pos untuk cara menguji kode lama dengan Oktaf.
Kode ini mengambil nama elemen (termasuk Kalium, dll.) Dan mengeluarkan output dalam format ascii sekarang karena aturan telah berubah.
Aturan berubah sejak saya menulis kode untuk meminta keluaran ASCII. Saya telah memperbarui kode saya untuk melakukan ini dengan mengorbankan 14 byte. Saya telah menyimpan 9 byte dengan menghilangkan bentuk ulang () dan hanya membuat
a
matriks bentuk yang tepat untuk memulai.Berikut ini penjelasan cara kerjanya:
Ini adalah output untuk Hidrogen (abaikan titik-titiknya, mereka harus menghindari garis yang dihapus saat ditampilkan di sini):
Dan inilah output untuk Kalsium.
Dan output untuk Natrium, yang sekarang berfungsi dengan baik (sebelum Natrium akan menghasilkan Nitrogen!).
Versi baru kode tidak berfungsi dengan Oktaf saat digunakan
spiral()
yang hanya ada di MATLAB.Namun Anda dapat menguji kode lama menggunakan penerjemah online Octave :
Jalankan itu, lalu masukkan string seperti: 'Hidrogen' (termasuk tanda kutip). Setelah selesai, Anda harus mengklik tombol Expand Plot (terlihat seperti simbol grafik kecil di sudut kanan atas penerjemah) untuk membuatnya menampilkan hal yang lengkap. Di Octave sayangnya menambahkan garis yang menghubungkan titik, ini tidak terjadi di MATLAB. Tapi setidaknya itu memungkinkan Anda untuk menguji logika di baliknya. Seperti yang saya katakan, ini masih merupakan keluaran grafis, tetapi Anda mendapatkan gagasan tentang bagaimana elemen-elemen tersebut dilihat.
sumber
Python 3, 529 byte
terima kasih Thomas dan Beta untuk menunjukkan beberapa hal yang seharusnya sudah jelas bagi saya, menyelamatkan saya beberapa byte
peningkatan besar-besaran: menggunakan string slicing daripada lookup dict
Bukan program atau output tercantik, tapi hei, kami membutuhkan sesuatu untuk memulai tantangan ini. Cobalah online .
sumber
"H 1"
dan membaginya di ruang nanti?sumber