Буква П в словах
Creado el: 5 de diciembre de 2024
Respondido usando O1 Preview por Chat01
Creado el: 5 de diciembre de 2024
Respondido usando O1 Preview por Chat01
Первоклассник Петя очень любит букву П. Когда ему скучно, он берёт случайные слова и вычёркивает в них все буквы, кроме П (прописной или строчной).
Вводится строка, состоящая из слова. Выведи новую, заменив в исходной все символы, кроме буквы П, символом -.
Ввод Вывод
Петрозаводск П-----------
сопка --п--
Чтобы решить эту задачу, нужно пройти по каждому символу входной строки и заменить его на символ '-'
, если это не буква 'П'
или 'п'
.
Пример реализации на Python:
pythonword = input() result = '' for char in word: if char == 'П' or char == 'п': result += char else: result += '-' print(result)
Пример работы программы:
textВвод: Петрозаводск Вывод: П-----------
textВвод: сопка Вывод: --п--
Есть последовательность символов, а за ней — число 0. Несколько одинаковых символов этой последовательности могут стоять подряд (а могут и нет).
Выведи эту же последовательность, но её одинаковые символы, стоящие подряд, собери в отдельной строке через пробел.
Ввод Вывод
1
2
3
0 1
2
3
a
b
b
c
c
c
b
b
a
0 a
b b
c c c
b b
a
Чтобы решить эту задачу, нам нужно:
'0'
.Вот пример реализации на Python:
pythonsymbols = [] # Считываем символы до '0' while True: s = input() if s == '0': break symbols.append(s) # Обрабатываем символы, группируя одинаковые подряд идущие i = 0 n = len(symbols) while i < n: current_symbol = symbols[i] group = [current_symbol] i += 1 while i < n and symbols[i] == current_symbol: group.append(symbols[i]) i += 1 # Выводим группу символов, разделенных пробелами print(' '.join(group))
Пояснение:
Считывание входных данных:
while
, чтобы считывать каждый символ до встречи с '0'
.symbols
.Обработка последовательности:
i
для перебора списка symbols
.group
, которая изначально содержит текущий символ.i
.Пример работы программы:
Ввод:
texta b b c c c b b a 0
Вывод:
texta b b c c c b b a
Объяснение примера:
'a'
— символ стоит один, выводим a
.'b b'
— два подряд одинаковых символа, выводим b b
.'c c c'
— три подряд одинаковых символа, выводим c c c
.'b b'
— снова два подряд 'b'
, выводим b b
.'a'
— символ стоит один, выводим a
.Примечание: Эта программа работает для любого количества символов и группирует только подряд идущие одинаковые символы, как указано в условии задачи.
«Из 1330 вычесть число и получить 1005? — думал Вася. — Нет, слишком большое число в ответе. Так, а если из 1330 вычесть по очереди числа 1, 2, 3... n, чтобы получить 1005?»
Напиши программу, которая посчитала бы такое n.
Чтобы решить эту задачу, нам нужно найти такое наименьшее натуральное число , что сумма чисел от 1 до , вычтенная из 1330, даст 1005.
Пошаговое решение:
Вычислим сумму чисел от 1 до :
Сумма первых натуральных чисел вычисляется по формуле:
Составим уравнение согласно условию задачи:
Подставим формулу суммы:
Решим уравнение относительно :
Решим квадратное уравнение:
Где , , .
Возможные решения:
Таким образом, .
Ответ:
Вася должен вычесть по очереди числа от 1 до 25, чтобы из 1330 получить 1005.
Программа на Python:
python# Целевая разница target_difference = 1330 - 1005 # 325 # Инициализация переменных n = 0 sum_numbers = 0 # Цикл для нахождения наименьшего n while sum_numbers < target_difference: n += 1 sum_numbers += n # Проверяем, совпадает ли сумма с целевой разницей if sum_numbers == target_difference: print(f"Необходимое значение n: {n}") else: print("Нет целого числа n, удовлетворяющего условию.")
Вывод программы:
Необходимое значение n: 25
Пояснение к коду:
while
: последовательно добавляем числа от 1 до , пока сумма не станет равной или больше 325.Проверка:
Вычислим сумму чисел от 1 до 25:
Подтверждаем, что:
Таким образом, решение корректно.