Калькулятор находит наименьшую цифру целого числа: он последовательно отделяет разряды делением с остатком и оставляет минимальное значение. Так задача решается без преобразования числа в строку.
Наименьшую цифру числа ищут так же, как наибольшую, только сравнение идёт в другую сторону. Минимум инициализируют девяткой — максимально возможной цифрой, — и обновляют его, когда очередной разряд меньше текущего значения.
Разряды извлекают остатком от деления на 10, а само число уменьшают целочисленным делением на 10. Когда число обращается в ноль, в переменной минимума остаётся ответ. Отдельный случай — ноль: его наименьшая цифра равна нулю.
Здесь N — обрабатываемое число, d — текущая цифра, m — минимальная найденная цифра. Второй способ — строковый: число превращают в набор символов, находят минимальный и возвращают его как цифру.
Пример 1. Число 384. Первая цифра справа 4 меньше 9, минимум становится 4. Затем 8 не меньше 4, а 3 меньше 4 — ответ 3.
Пример 2. Число 764580. Есть разряд 0, поэтому найденный минимум сразу равен 0 и уже не меняется.
Пример 3. Число 777 состоит из одинаковых цифр, поэтому минимум равен 7. Для числа 0 ответ — 0.
Перебор разрядов для числа 384
| Шаг | Цифра | Минимум |
|---|---|---|
| 1 | 4 | 4 |
| 2 | 8 | 4 |
| 3 | 3 | 3 |
Девятка — максимально возможная цифра, поэтому первое же сравнение гарантированно обновит минимум. Для числа из одинаковых цифр это даст правильный ответ.
Ноль — допустимая цифра, и он становится минимумом. Например, для 1024 наименьшая цифра — 0, а не 1.
Нет. Минус не является цифрой, поэтому перед расчётом берут модуль числа.
У обычного числа ведущих нулей нет, они не хранятся. Если число пришло строкой, лишние нули слева не влияют на минимум, но могут ошибочно изменить его длину.