Tertantang ini sangat terinspirasi oleh apa yang @Mego ciptakan dengan angka Suci dan Holier-nya , banyak terima kasih kepadanya dan permainan kata-katanya.
Bilangan suci adalah angka yang hanya terdiri dari digit berlubang , yaitu:
04689
Angka dengan setidaknya satu digit tidak suci dianggap tidak suci. Digit yang tidak suci itu jahat menurut definisi, tetapi dekat dengan angka suci membantu mereka menjadi netral. Oleh karena itu, semakin dekat mereka, semakin tidak suci (1 ketika berdekatan).
Ketidakjujuran suatu bilangan adalah jumlah dari ketidakjujuran dari digit-digitnya, suatu angka yang hanya terdiri dari angka yang tidak kudus memiliki ketidakjujuran yang tak terbatas.
Number :8 5 5 8 7
Digital Unholiness:0+1+1+0+1
Total Unholiness :3
Number :0 1 7 5 5 2 8 5 7
Digital Unholiness:0+1+2+3+2+1+0+1+2
Total Unholiness :12
Number :1 5 7 3 2 1
Digital Unholiness:∞+∞+∞+∞+∞+∞
Total Unholiness :∞
Number :0 4 6 8 9
Digital Unholiness:0+0+0+0+0
Total Unholiness :0
Tugas Anda
Anda harus menulis sebuah program atau fungsi yang mengambil bilangan bulat positif atau string yang hanya terdiri dari digit sebagai input, dan menampilkan kekasarannya. Jika Anda memilih untuk menggunakan bilangan bulat sebagai input, Anda dapat menganggapnya tidak akan memiliki arahan 0
karena bahasa Anda akan menjatuhkannya.
Dalam hal ketidaktaatan yang tak terbatas, Anda dapat memilih di antara tiga output
- Karakter
∞
(3 byte) - Output tak terbatas mengandung setidaknya 1 digit bukan nol, tetapi hanya digit.
- Nilai bawaan
Infinity
.
Ini adalah kode-golf, jadi kode terpendek dalam byte menang, semoga berhasil!
Infinity
nilai bawaan menjadi legal?0
digit suci, saya akan mengubah posting sesuai untuk memungkinkan jawaban berdasarkan angka 0 yang tidak terkemuka.Jawaban:
MATL ,
2524 byteCobalah online!
Input adalah sebuah string. Dalam output, infinity ditampilkan sebagai
Inf
.Penjelasan
sumber
Python (3),
137131 byteHasil
sumber
Pyth,
31292725 byteCobalah online: Demonstrasi atau Test Suite
Untuk setiap digit saya menghitung jarak ke setiap angka. Jarak adalah sangat kecil, jika digit kedua tidak suci. Dari daftar ini saya mengambil jarak minimal dan menjumlahkannya.
Penjelasan:
sumber
JavaScript (ES6), 93 byte
Jika
Infinity
bukan merupakan batas hukum, tambahkan 13 byte untuk==1/0?'∞':r
.sumber