e-olymp 2. Цифры

Задача взята с сайта e-olymp.

Условие

Вычислить количество цифр целого неотрицательного числа [latex]n[/latex].

Входные данные

Одно не отрицательное целое число [latex]n[/latex] [latex](0<=n<=2*10^9)[/latex].

Выходные данные

Количество цифр в числе [latex]n[/latex].

 

Тесты

Число Количество цифр
1 1
20 2
123 3

Код

Решение

Сначала объявляем переменную [latex] n [/latex] для подсчета цифр в числе и присваиваем ей значение 1. Далее используем цикл while, проверкой которого ставим деление числа на 10 — так как тип числа int, это «отбрасывает» последнюю цифру в числе. Пока результат проверки истинный, инкриментируем n на 1.

Код программы

Засчитанное решение

Альтернативное решение с помощью десятичного логарифма

Сначала проверяется, не является ли введенное число нулем, так как невозможно посчитать любой логарифм от нуля. Если число отлично от нуля, находим десятичный логарифм от числа, прибавляем к нему единицу (что соответствует количеству цифр в числе). Берем целую часть от найденного, в случае, если число не кратно 10.

 

Код решения

Related Images: