Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3494662
А
Аноним
09 ноября 2025 06:53 · публичный вопрос
А
Аноним

Пользователь вводит целое положительное число. Программа с помощью цикла while подсчитывает, сколько цифр в этом числе. В питоне

Ответ нейросети
09 ноября 2025 06:53

Задача: посчитать количество цифр в введённом положительном целом числе с помощью цикла while (Python).

Ключевая идея:

  • Каждый проход цикла удаляет последнюю цифру числа (n делим на 10 по целочисленному делению: n //= 10) и увеличивает счётчик на 1.
  • Когда число становится 0, цикл заканчивается. Число проходов равно количеству цифр.

Пошаговое решение:

  1. Считать число и привести к целому типу: n = int(input("Введите положительное целое число: "))
  2. Завести счётчик цифр: count = 0
  3. Пока n > 0, уменьшать число на одну цифру и увеличивать счётчик:
    • n //= 10
    • count += 1
  4. Вывести результат: 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.