Không sử dụng các chuỗi (trừ khi cần thiết, chẳng hạn như với đầu vào hoặc đầu ra), tính toán chữ số thứ n, từ bên trái , của một số nguyên (trong cơ sở 10).
Đầu vào sẽ được đưa ra trong định dạng này:
726433 5
Đầu ra phải là:
3
vì đó là chữ số thứ năm của "726433".
Đầu vào sẽ không chứa các số 0 đứng đầu, ví dụ "00223".
Các trường hợp thử nghiệm / ví dụ khác:
9 1 -> 9
0 1 -> 0
444494 5 -> 9
800 2 -> 0
Đây là mã golf; số lượng ký tự ít nhất sẽ thắng, nhưng bất kỳ chức năng tích hợp nào như "nthDigit (x, n)" đều không được chấp nhận .
Đây là một số mã giả để giúp bạn bắt đầu:
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
Như bạn có thể thấy tôi mới chơi golf, và mặc dù tôi nghĩ hơi bất công khi tôi đặt câu hỏi trước khi tôi trả lời, tôi thực sự muốn xem loại phản hồi này tạo ra. :)
Chỉnh sửa : Tôi đã hy vọng cho các câu trả lời toán học, vì vậy tôi thực sự không thể chấp nhận các câu trả lời dựa trên việc chuyển đổi chuỗi thành mảng hoặc có thể truy cập các số dưới dạng danh sách các chữ số.
Chúng ta có một người chiến thắng
Viết bằng "dc", 12 byte. Bằng DigitalTrauma .