Задача Задача №3494662
А
А
Задача: посчитать количество цифр в введённом положительном целом числе с помощью цикла while (Python).
Ключевая идея:
- Каждый проход цикла удаляет последнюю цифру числа (n делим на 10 по целочисленному делению: n //= 10) и увеличивает счётчик на 1.
- Когда число становится 0, цикл заканчивается. Число проходов равно количеству цифр.
Пошаговое решение:
- Считать число и привести к целому типу: n = int(input("Введите положительное целое число: "))
- Завести счётчик цифр: count = 0
- Пока n > 0, уменьшать число на одну цифру и увеличивать счётчик:
- n //= 10
- count += 1
- Вывести результат: print("Количество цифр:", count)
Важно:
- Для числа 0 такой подход вернёт 0, хотя в реальности цифра 0 — одна цифра. Так как условие задачи говорит о положительном числе, можно не обрабатывать 0. Если хотите учесть 0 как допустимый ввод, добавьте специальную обработку: если n == 0: count = 1, иначе выполняйте цикл.
Пример кода (Python):
n = int(input("Введите положительное целое число: ")) count = 0
while n > 0: n //= 10 count += 1
print("Количество цифр:", count)
Пример работы:
- Ввод: 7531 → вывод: 4
- Ввод: 7 → вывод: 1
- Ввод: 100 → вывод: 3
Сложность:
- Время: O(d), где d — число цифр в числе (плотно пропорционально количеству разрядов).
- Память: O(1) дополнительной памяти.
Дополнительно (для расширения понимания):
- Можно реализовать аналогичное решение с проверкой на 0 и без использования цикла, но это уже будет обойтись без while и использовать преобразование к строке: len(str(n)) — это другой подход, который не удовлетворяет условию именно цикла while.