Контрольные задания > Разработать программу, которая подсчитывает количество двузначных чисел, записанных с помощью повторяющихся цифр, в последовательности натуральных чисел.
Вопрос:
Разработать программу, которая подсчитывает количество двузначных чисел, записанных с помощью повторяющихся цифр, в последовательности натуральных чисел.
Ответ:
Давайте разберёмся с задачей шаг за шагом. Нам нужно написать программу, которая будет проверять числа из последовательности и считать только те, которые соответствуют следующим условиям:
1. **Двузначные:** Число должно состоять из двух цифр (то есть от 10 до 99).
2. **С повторяющимися цифрами:** Обе цифры в числе должны быть одинаковыми (например, 11, 22, 33, и т.д.).
**Как работает программа:**
1. **Ввод:** Сначала программа получает на вход общее количество чисел в последовательности, а затем сами числа.
2. **Проверка:** Программа проверяет каждое число в последовательности:
* Она проверяет, является ли число двузначным (то есть лежит ли оно в диапазоне от 10 до 99).
* Если число двузначное, то она сравнивает первую и вторую цифры.
* Если цифры совпадают, программа увеличивает счетчик таких чисел на 1.
3. **Вывод:** В конце программа выводит одно число: общее количество двузначных чисел с повторяющимися цифрами.
**Пример работы программы:**
В примере, который дан в задании, есть последовательность чисел: 5, 100, 10, 27, 88, 55.
* 5 - однозначное, не подходит.
* 100 - трёхзначное, не подходит.
* 10 - двузначное, но цифры разные, не подходит.
* 27 - двузначное, но цифры разные, не подходит.
* 88 - двузначное, цифры одинаковые, подходит, счетчик увеличивается на 1.
* 55 - двузначное, цифры одинаковые, подходит, счетчик увеличивается на 1.
В итоге программа выведет 2, так как есть два числа (88 и 55), которые соответствуют условиям задачи.
**Решение на Python:**
```python
def count_repeating_digits_numbers():
n = int(input())
count = 0
for _ in range(n):
num = int(input())
if 10 <= num <= 99:
first_digit = num // 10
second_digit = num % 10
if first_digit == second_digit:
count += 1
print(count)
count_repeating_digits_numbers()
```
**Разбор кода:**
* `def count_repeating_digits_numbers():` - Определяем функцию.
* `n = int(input())` - Считываем количество чисел в последовательности.
* `count = 0` - Инициализируем счетчик таких чисел.
* `for _ in range(n):` - Начинаем цикл по всем числам.
* `num = int(input())` - Считываем каждое число.
* `if 10 <= num <= 99:` - Проверяем, является ли число двузначным.
* `first_digit = num // 10` - Получаем первую цифру (делим нацело на 10).
* `second_digit = num % 10` - Получаем вторую цифру (остаток от деления на 10).
* `if first_digit == second_digit:` - Проверяем, равны ли первая и вторая цифры.
* `count += 1` - Если равны, увеличиваем счетчик.
* `print(count)` - Выводим результат.
Теперь вы знаете, как решить эту задачу и можете написать программу для подсчёта таких чисел.