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

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

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

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

Вопрос от Анонимного юзера 13 декабря 2025 18:01

Напишите программу, которая получает с клавиатуры натуральное число и опре-деляет, сколько раз в его десятичной записи встречается цифра 1. Пример: Введите число? 311 Единиц: 2

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

13 декабря 2025 18:01

Задача: определить, сколько раз в десятичной записи натурального числа встречается цифра 1.

План решения (пошаговый):

  • Способ 1 (самый простой для школьника): работать со строковым представлением числа. Преобразовать ввод в строку и посчитать количество символов '1'.
  • Способ 2 (арифметический): последовательно разбирать цифры числа через деление на 10 и счёт тех, которые равны единице.
  • Пример: для числа 311 — две единицы.

Python-реализация (через строку, простой и понятный способ)

  • код: def count_ones_str(n_str): return sum(1 for ch in n_str if ch == '1')

s = input("Введите число? ").strip() print("Единиц:", count_ones_str(s))

Как это работает:

  • вводим число как строку, например "311".
  • считаем, сколько символов равны '1' в этой строке.
  • выводим результат. В примере 311 → 2.

Альтернативный вариант на Python (арифметический подход)

  • код: def count_ones_num(n): cnt = 0 while n > 0: if n % 10 == 1: cnt += 1 n //= 10 return cnt

s = input("Введите число? ").strip() n = int(s) print("Единиц:", count_ones_num(n))

Как это работает:

  • берём число и по шагам отделяем последнюю цифру (n % 10).
  • если она равна 1, увеличиваем счётчик.
  • удаляем последнюю цифру (n //= 10) и повторяем, пока не останется цифр.
  • пример: 311 → 2.

Дополнительно: варианты на других языках (для справки)

  • C++ (через строку):

#include #include using namespace std;

int main() { string s; cout << "Введите число? "; if (!(cin >> s)) return 0; int cnt = 0; for (char c : s) if (c == '1') ++cnt; cout << "Единиц: " << cnt << endl; return 0; }

  • C++ (арифметический подход):

#include using namespace std;

int main() { long long n; cout << "Введите число? "; if (!(cin >> n)) return 0; int cnt = 0; while (n > 0) { if (n % 10 == 1) ++cnt; n /= 10; } cout << "Единиц: " << cnt << endl; return 0; }

Пример теста: Ввод: 311 Вывод (оба подхода): Единиц: 2

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

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

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

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

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

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

qr-codegoogle-playapp-store

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

Напишите программу, которая получает с клавиатуры натуральное число и опре-деляет, сколько раз в его десятичной записи встречается цифра 1. Пример: Введите число? 311 Единиц: 2
Задача: определить, сколько раз в десятичной записи натурального числа встречается цифра 1. План решения (пошаговый): - Способ 1 (самый простой для школьника): работать со строковым представлением числа. Преобразовать ввод в строку и посчитать количество символов '1'. - Способ 2 (арифметический): последовательно разбирать цифры числа через деление на 10 и счёт тех, которые равны единице. - Пример: для числа 311 — две единицы. Python-реализация (через строку, простой и понятный способ) - код: def count_ones_str(n_str): return sum(1 for ch in n_str if ch == '1') s = input("Введите число? ").strip() print("Единиц:", count_ones_str(s)) Как это работает: - вводим число как строку, например "311". - считаем, сколько символов равны '1' в этой строке. - выводим результат. В примере 311 → 2. Альтернативный вариант на Python (арифметический подход) - код: def count_ones_num(n): cnt = 0 while n > 0: if n % 10 == 1: cnt += 1 n //= 10 return cnt s = input("Введите число? ").strip() n = int(s) print("Единиц:", count_ones_num(n)) Как это работает: - берём число и по шагам отделяем последнюю цифру (n % 10). - если она равна 1, увеличиваем счётчик. - удаляем последнюю цифру (n //= 10) и повторяем, пока не останется цифр. - пример: 311 → 2. Дополнительно: варианты на других языках (для справки) - C++ (через строку): #include #include using namespace std; int main() { string s; cout << "Введите число? "; if (!(cin >> s)) return 0; int cnt = 0; for (char c : s) if (c == '1') ++cnt; cout << "Единиц: " << cnt << endl; return 0; } - C++ (арифметический подход): #include using namespace std; int main() { long long n; cout << "Введите число? "; if (!(cin >> n)) return 0; int cnt = 0; while (n > 0) { if (n % 10 == 1) ++cnt; n /= 10; } cout << "Единиц: " << cnt << endl; return 0; } Пример теста: Ввод: 311 Вывод (оба подхода): Единиц: 2 Если хочешь, могу адаптировать решение под конкретный язык программирования или школьный уровень.