Я новичок в изучении OCaml и серьезно исчерпал свои подходы. Я уже реализовал решение, в котором вы рекурсивно передаете число, деленное на 10.
let rec len x =
let d = abs x in
if d <= 9 then 1
else 1+len (d/10)
;;
Однако этот подход не работает для входных данных, таких как 0005. Я также думал о том, чтобы превратить int в строку, но int_to_string превращает 0005 в «5», что снова дает 1. Пожалуйста, помогите мне с этим.