pengantar
Perhatikan contoh berikut:
CODE
+ GOLF
——————
GREAT
Ini adalah persamaan di mana setiap huruf mewakili angka desimal dan kata-kata mewakili angka alami (huruf yang sama mewakili angka yang sama dan huruf yang berbeda mewakili angka yang berbeda). Tugasnya adalah mencocokkan setiap huruf dengan nilai digitnya sehingga persamaannya benar. Salah satu solusi untuk persamaan di atas adalah:
9265
+ 1278
——————
10543
Tugas Anda
Tugas Anda adalah menulis program atau fungsi yang dapat menyelesaikan persamaan seperti yang terlihat di atas.
Memasukkan
Input adalah string dalam format berikut:
[A-Z]+\+[A-Z]+=[A-Z]+
Contoh:
CODE+GOLF=GREAT
AA+BB=CC
Spasi dihilangkan dan hanya huruf antara kapital A dan Z yang akan digunakan (tidak ada huruf khusus atau kecil).
String ini dapat dibaca dari input standar, dari file, atau sebagai parameter fungsi.
Keluaran
Anda memiliki dua opsi berikut untuk format output:
- persamaan asli dengan digit tersubstitusi
- daftar surat dan nilainya
Jika ada beberapa solusi, salah satu (tetapi hanya satu) di antaranya harus dikembalikan. Jika tidak ada solusi, program harus mengembalikan string kosong atau nol. Output dapat dikembalikan sebagai string, dapat ditulis ke output standar atau file.
Contoh:
9265+1278=10543
A=1 B=2 C=3
(Anda dapat menggunakan pembatas apa pun)
Aturan
- Untuk mempermudah, angka diterima untuk memulai dengan 0, tetapi Anda dapat menangani angka dengan memimpin 0 sebagai solusi yang tidak valid, terserah Anda
- Huruf yang sama mewakili angka yang sama dan huruf yang berbeda mewakili angka yang berbeda
- Anda dapat menggunakan bahasa apa pun dan perpustakaan standar bahasa yang dipilih (tidak ada lib eksternal)
- Anda tidak dapat terhubung ke sumber daya apa pun di internet (mengapa Anda mau?)
- Ini adalah tugas kode golf, kode terpendek menang. Karakter spasi putih berturut-turut dihitung sebagai satu karakter. (Jadi setiap program yang ditulis di spasi putih otomatis menang)
Saya punya solusi yang agak meretas menggunakan 179 karakter. Jika ada sesuatu yang tidak jelas, silakan tanyakan di komentar saya.
If there are no solutions, the program should return an empty string or null.
Loop tak terbatas masih menghasilkan apa-apa ... boleh saya?