Как написать рекурсивную функцию, которая получает количество цифр числа (даже если число имеет начальные нули, такие как 0005) в ocaml - PullRequest
0 голосов
/ 17 февраля 2020

Я новичок в изучении 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. Пожалуйста, помогите мне с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...