Tanpa menggunakan string (kecuali bila perlu, seperti dengan input atau output) hitung digit ke-n, dari kiri , dari sebuah bilangan bulat (pada basis 10).
Masukan akan diberikan dalam format ini:
726433 5
Output harus:
3
karena itu adalah digit kelima "726433".
Input tidak akan mengandung angka nol di depan, misalnya "00223".
Uji kasus / contoh lebih lanjut:
9 1 -> 9
0 1 -> 0
444494 5 -> 9
800 2 -> 0
Ini adalah kode golf; paling sedikit jumlah karakter yang menang, tetapi fungsi bawaan seperti "nthDigit (x, n)" tidak dapat diterima .
Berikut beberapa pseudo-code untuk Anda mulai:
x = number
n = index of the digit
digits = floor[log10[x]] + 1
dropRight = floor[x / 10^(digits - n)]
dropLeft = (dropRight / 10 - floor[dropRight / 10]) * 10
nthDigit = dropLeft
Seperti yang Anda lihat, saya baru mengenal kode golf, dan meskipun saya pikir agak tidak adil untuk mengajukan pertanyaan bahkan sebelum saya menjawabnya, saya benar-benar ingin melihat respons seperti apa yang dihasilkannya. :)
Sunting : Saya berharap untuk jawaban matematis, jadi saya tidak dapat benar-benar menerima jawaban yang mengandalkan konversi string ke array atau dapat mengakses angka sebagai daftar angka.
Kami punya pemenang
Ditulis dalam "dc", 12 byte. Oleh DigitalTrauma .