Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 15 апреля 2026 10:02

На языке программирования Python написана программа, которая должна находить количество цифр, равных 3, и количество цифр, отличных от 3, в числе, введённом пользователем.

Ответ нейросети

15 апреля 2026 10:02

Ниже будет подробное решение на Python с пояснениями. Задача: подсчитать количество цифр, равных 3, и количество цифр, отличных от 3, в числе, введённом пользователем.

Ключевые моменты:

  • Игнорируем знак числа (если вводится отрицательное, считаем цифры после знака).
  • Подсчитываем только цифры; если ввод может содержать пробелы или знаки, они не учитываются.
  • Можно решить двумя способами: по строке (побитовый разбор символов) или по арифметике (разбор цифр через деление на 10).
  1. Способ 1: разбор по строке Пошагово:
  • Считать ввод как строку и убрать ведущие/завершающие пробелы.
  • Пропускать символы знака +/−.
  • Для каждой цифры увеличить счёт цифр равных 3 или счёт цифр не равных 3.

Пример кода:

  • Пояснение: мы считаем каждую цифру отдельно, поэтому, например, для числа -33003 получится c3 = 2, cNot3 = 3.

Код: s = input("Введите число: ").strip() count3 = 0 countNot3 = 0

for ch in s: if ch in '+-': continue if ch.isdigit(): if ch == '3': count3 += 1 else: countNot3 += 1

print("Цифр 3:", count3) print("Цифр, отличных от 3:", countNot3)

Пояснения к коду:

  • ch.isdigit() гарантирует, что мы считаем только цифры.
  • Знак игнорируется, чтобы не мешать подсчёту цифр.
  • Ввод может быть любым числом, например 0, 303, -123, 0033 (если встречаются ведущие нули, они будут считаны как цифры).
  1. Способ 2: разбор числа арифметически (через деление на 10) Пошагово:
  • Преобразовать ввод к целому числу и взять модуль, чтобы работать с абсолютным значением.
  • Специально обработать случай, когда число равно 0 (одна цифра 0, которая не равна 3).
  • Выполнять цикл: пока число > 0, взять последнюю цифру d = n % 10; если d == 3 — увеличить count3, иначе увеличить countNot3; затем уйти к следующей цифре: n //= 10.

Код: try: n = int(input("Введите число: ").strip()) except ValueError: print("Некорректный ввод") raise SystemExit(1)

n = abs(n) count3 = 0 countNot3 = 0

if n == 0: # число 0 имеет одну цифру, которая не равна 3 countNot3 = 1 else: while n > 0: d = n % 10 if d == 3: count3 += 1 else: countNot3 += 1 n //= 10

print("Цифр 3:", count3) print("Цифр, отличных от 3:", countNot3)

Пояснения к коду:

  • abs(n) безопасно удаляет знак, чтобы считать цифры.
  • Для числа 0 цикл не выполняется, поэтому отдельно обрабатываем этот случай.
  • Время выполнения пропорционально количеству цифр в числе, память константна.

Сравнение вариантов:

  • Способ 1 проще читать и писать, работает прямо с введённой строкой, не требует конвертации в число. Но если в строке встречаются посторонние символы, они игнорируются.
  • Способ 2 может быть чуть быстрее и точно учитывает фактические цифры числа, но требует обработки ввода как целого числа и не сохраняет ведущие нули (ведущие нули в числовом вводе обычно не сохраняются).

Пример теста: Ввод: 303030

  • Способ 1: Цифр 3: 3; Цифр, отличных от 3: 3
  • Способ 2: Цифр 3: 3; Цифр, отличных от 3: 3

Сложность:

  • Оба подхода имеют временную сложность O(k), где k — количество цифр числа.
  • Пространственная сложность O(1) в обоих случаях (за исключением количества памяти, используемой для самого ввода).

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

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

На языке программирования Python написана программа, которая должна находить количество цифр, равных 3, и количество цифр, отличных от 3, в числе, введённом пользователем.
Ниже будет подробное решение на Python с пояснениями. Задача: подсчитать количество цифр, равных 3, и количество цифр, отличных от 3, в числе, введённом пользователем. Ключевые моменты: - Игнорируем знак числа (если вводится отрицательное, считаем цифры после знака). - Подсчитываем только цифры; если ввод может содержать пробелы или знаки, они не учитываются. - Можно решить двумя способами: по строке (побитовый разбор символов) или по арифметике (разбор цифр через деление на 10). 1) Способ 1: разбор по строке Пошагово: - Считать ввод как строку и убрать ведущие/завершающие пробелы. - Пропускать символы знака +/−. - Для каждой цифры увеличить счёт цифр равных 3 или счёт цифр не равных 3. Пример кода: - Пояснение: мы считаем каждую цифру отдельно, поэтому, например, для числа -33003 получится c3 = 2, cNot3 = 3. Код: s = input("Введите число: ").strip() count3 = 0 countNot3 = 0 for ch in s: if ch in '+-': continue if ch.isdigit(): if ch == '3': count3 += 1 else: countNot3 += 1 print("Цифр 3:", count3) print("Цифр, отличных от 3:", countNot3) Пояснения к коду: - ch.isdigit() гарантирует, что мы считаем только цифры. - Знак игнорируется, чтобы не мешать подсчёту цифр. - Ввод может быть любым числом, например 0, 303, -123, 0033 (если встречаются ведущие нули, они будут считаны как цифры). 2) Способ 2: разбор числа арифметически (через деление на 10) Пошагово: - Преобразовать ввод к целому числу и взять модуль, чтобы работать с абсолютным значением. - Специально обработать случай, когда число равно 0 (одна цифра 0, которая не равна 3). - Выполнять цикл: пока число > 0, взять последнюю цифру d = n % 10; если d == 3 — увеличить count3, иначе увеличить countNot3; затем уйти к следующей цифре: n //= 10. Код: try: n = int(input("Введите число: ").strip()) except ValueError: print("Некорректный ввод") raise SystemExit(1) n = abs(n) count3 = 0 countNot3 = 0 if n == 0: # число 0 имеет одну цифру, которая не равна 3 countNot3 = 1 else: while n > 0: d = n % 10 if d == 3: count3 += 1 else: countNot3 += 1 n //= 10 print("Цифр 3:", count3) print("Цифр, отличных от 3:", countNot3) Пояснения к коду: - abs(n) безопасно удаляет знак, чтобы считать цифры. - Для числа 0 цикл не выполняется, поэтому отдельно обрабатываем этот случай. - Время выполнения пропорционально количеству цифр в числе, память константна. Сравнение вариантов: - Способ 1 проще читать и писать, работает прямо с введённой строкой, не требует конвертации в число. Но если в строке встречаются посторонние символы, они игнорируются. - Способ 2 может быть чуть быстрее и точно учитывает фактические цифры числа, но требует обработки ввода как целого числа и не сохраняет ведущие нули (ведущие нули в числовом вводе обычно не сохраняются). Пример теста: Ввод: 303030 - Способ 1: Цифр 3: 3; Цифр, отличных от 3: 3 - Способ 2: Цифр 3: 3; Цифр, отличных от 3: 3 Сложность: - Оба подхода имеют временную сложность O(k), где k — количество цифр числа. - Пространственная сложность O(1) в обоих случаях (за исключением количества памяти, используемой для самого ввода). Если хочешь, могу адаптировать код под конкретный стиль обучения или добавить валидацию ввода (например, чтобы точно принимать только одно число и запретить ввод нечисловых символов).