Anda punya satu set ubin dengan simbol dari tabel periodik. Setiap simbol muncul sekali. Anda sedang memikirkan kata-kata untuk dibuat tetapi Anda ingin tahu apakah itu mungkin atau tidak.
Tantangan
Tulis program dalam bahasa favorit Anda yang akan mengambil string sebagai parameter input. Anda dapat berasumsi bahwa input bukan nol, tidak memiliki spasi dan terdiri dari karakter ASCII.
Program Anda harus mengambil string itu dan menghasilkan nilai yang benar jika kata itu dapat terdiri dari simbol dari tabel elemen periodik, dan nilai falsey jika kata itu tidak bisa.
Untuk membuat tantangan ini lebih sulit, Anda tidak boleh menggunakan simbol dua kali. Jadi, jika Anda menggunakan Nitrogen, N
Anda tidak boleh menggunakan N
kata yang sama.
Aturan
Tidak ada celah standar. Anda dapat menggunakan simbol dari elemen 1-118 (Hidrogen ke Ununoctium). Anda dapat menemukan daftar semua elemen di sini . Anda dapat membaca daftar simbol dari file atau masukan argumen jika Anda mau.
Kasus uji:
Laos - true (LaOs)
Amputation - true (AmPuTaTiON)
Heinous - true (HeINoUS)
Hypothalamus - true (HYPoThAlAmUS)
Singapore - true (SiNGaPoRe)
Brainfuck - true (BRaInFUCK)
Candycane - false
Ini adalah tantangan kode golf, kode terpendek menang.
SEBELUM ANDA DITUTUP SEBAGAI DUPLIKAT: Meskipun ini mungkin tampak mirip dengan tantangan ini , saya merasa itu berbeda karena ini bukan 'Buat daftar semua kata yang mungkin dari tabel periodik', itu adalah 'Ambil input sewenang-wenang dan tentukan jika itu bisa dibuat dari tabel periodik '
Jawaban:
05AB1E, 16 byte
Dijelaskan
Peringatan: Sangat lambat. Saya merekomendasikan pengujian pada subset elemen yang jauh lebih kecil dalam juru bahasa online.
Mengambil daftar elemen sebagai argumen pertama.
Membawa kata untuk diuji sebagai argumen kedua.
Mengembalikan 1 untuk true dan 0 untuk false.
Cobalah online di subset elemen kecil
sumber
Brachylog , 7 byte
Panggil dengan daftar simbol (semua huruf kecil) sebagai Input, dan kata sebagai Output, misalnya
run_from_atom('spc~@l.', ["he":"n":"o":"li"], "Nohe").
.Peringatan: ini sangat tidak efisien ketika semua simbol ada dalam daftar.
Penjelasan
sumber
JavaScript (Firefox 48 atau yang lebih lama), 103 byte
sumber
Pyth - 13 byte
Hanya memeriksa apakah ada partisi input dengan huruf kecil memiliki semua bagian dalam tabel periodik.
Di seluler, jadi tidak bisa menyiapkan ruang tes yang sebenarnya, tetapi coba ini .
sumber
Pyth, 11 byte
Cobalah online. Suite uji.
Ditulis di ponsel saya, tetapi harus berfungsi. Sangat lambat untuk sejumlah besar elemen atau string yang panjang.
Penjelasan
./
) dari input (z
).S
) setiap partisi (M
).R
), lihat apakah itu ada di (}
) daftar semua himpunan bagian (y
) dariS
tabel periodik disortir ( ) yang diberikan sebagai input (Q
).s
) daftar boolean yang dihasilkan.sumber