Вопрос задан 19.02.2025 в 16:22. Предмет Информатика. Спрашивает Петров Михаил.

Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом.
Пример:
Введите целое число: Введите целое число:
1232 1224
Нет. Да.
Через ветвление, while, repeat, until

Перейти к ответам

Ответы на вопрос

Отвечает Ткачук Денис.

Для решения этой задачи можно использовать подход с ветвлением (if) и циклы типа while, repeat или until. Я объясню, как можно решить задачу, используя цикл while, так как это один из самых популярных вариантов для подобных задач.

Алгоритм решения:

Нам нужно проверить, есть ли в числе две одинаковые цифры, стоящие рядом. Чтобы это сделать, мы можем выполнить следующее:

  1. Прочитать число как строку (чтобы легко манипулировать его цифрами).
  2. Пройтись по всем цифрам числа и сравнивать текущую цифру с предыдущей.
  3. Если нашли пару одинаковых цифр, вернуть результат "Да". Если же такого не произошло, вернуть результат "Нет".

Теперь рассмотрим реализацию на примере:

Пример программы на языке программирования с циклом while:

python
# Вводим число num = input("Введите целое число: ")

# Инициализация переменной для индекса i = 1 found = False

# Цикл для проверки каждой пары соседних цифр while i < len(num): if num[i] == num[i - 1]: # Сравниваем текущую цифру с предыдущей found = True break # Если нашли одинаковые цифры рядом, выходим из цикла i += 1

# Выводим результат if found: print("Да") else: print("Нет")

Объяснение кода:

  1. Мы начинаем с ввода числа как строки, чтобы удобно работать с отдельными цифрами.
  2. Используем цикл while, который начинается с индекса 1 (так как для сравнения нужно иметь пару цифр: текущую и предыдущую). В цикле мы сравниваем цифру на текущем индексе с цифрой на предыдущем индексе.
  3. Если находим пару одинаковых цифр, устанавливаем флаг found в True и выходим из цикла с помощью break.
  4. После завершения цикла проверяем флаг found. Если он равен True, выводим "Да", если нет — "Нет".

Пример работы программы:

  1. Ввод: 1232

    • Сначала сравниваем цифры 1 и 2, они не одинаковые.
    • Потом сравниваем 2 и 3, они тоже не одинаковые.
    • Далее сравниваем 3 и 2, тоже не одинаковые.
    • Результат: "Нет".
  2. Ввод: 1224

    • Сравниваем 1 и 2, не одинаковые.
    • Сравниваем 2 и 2, они одинаковые.
    • Результат: "Да".

Использование цикла repeat или until:

Если нужно использовать цикл repeat или until, то их логика будет аналогичной. Основное различие в синтаксисе. Например, с repeat программа будет выглядеть так:

python
num = input("Введите целое число: ") i = 1 found = False

# Используем repeat-until (аналог while) while True: if num[i] == num[i - 1]: found = True break i += 1 if i == len(num): # Останавливаем цикл, если дошли до конца строки break

if found: print("Да") else: print("Нет")

В этой версии мы используем бесконечный цикл while True и прерываем его, когда достигаем конца строки или находим пару одинаковых цифр.

Итог:

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

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос