Задача 2 (длина самого длинного слова) Есть послед...

Creato il: 15 aprile 2026

Risposto usando GPT-5.4 Thinking da Chat01

Domanda

Задача 2 (длина самого длинного слова)
Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП.
Выведи количество символов в самой длинной фамилии в последовательности.

Ввод Вывод
Иванов
Петрова
Сидорова 8

Pensiero

Thought for a few seconds

Risposta

Можно так на Python:

python
max_len = 0 while True: s = input() if s == "СТОП": break if len(s) > max_len: max_len = len(s) print(max_len)

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

  • читаем фамилии по одной;
  • если введено СТОП, заканчиваем;
  • для каждой фамилии считаем длину и запоминаем максимальную;
  • в конце выводим её.

Для примера:

  • Иванов → 6
  • Петрова → 7
  • Сидорова → 8

Ответ: 8

Domanda

Задача 3 (сколько самых длинных слов)
Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП.
Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП.
Выведи количество фамилий наибольшей длины.

Ввод Вывод
Иванов
Петрова
Сидорова 1
Ли
Ли
Ли 3

Pensiero

Thought for a couple of seconds

Risposta

Вот решение на Python:

python
max_len = 0 count = 0 while True: s = input() if s == "СТОП": break if len(s) > max_len: max_len = len(s) count = 1 elif len(s) == max_len: count += 1 print(count)

Как работает программа:

  • max_len хранит длину самой длинной фамилии;
  • count хранит, сколько таких фамилий встретилось;
  • если встретилась фамилия длиннее всех прошлых, обновляем max_len и ставим count = 1;
  • если длина равна максимальной, увеличиваем count на 1.

Пример:

  • Иванов → длина 6, max_len = 6, count = 1
  • Петрова → длина 7, max_len = 7, count = 1
  • Сидорова → длина 8, max_len = 8, count = 1

Ответ: 1

Во втором примере все фамилии Ли, длина одинаковая, поэтому ответ: 3.

Domanda

Задача 1
Есть строка.
Надо вывести минимальную из строк: исходной и перевёрнутой задом наперёд. Если они одинаковые, вывести слово "ПЛНДРМ".

Ввод Вывод
ток кот
рот рот
казак ПЛНДРМ

Pensiero

Thought for a couple of seconds

Risposta

Вот решение на Python:

python
s = input() rev = s[::-1] if s == rev: print("ПЛНДРМ") else: print(min(s, rev))

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

  • считываем строку;
  • создаём перевёрнутую строку rev;
  • если строки равны, выводим ПЛНДРМ;
  • иначе выводим меньшую из двух строк в лексикографическом порядке.

Примеры:

  • токкот, минимум: кот
  • роттор, минимум: рот
  • казак → одинаково, вывод: ПЛНДРМ

Обрати внимание: для слова рот перевёрнутая строка — тор, поэтому выводится рот.

Domanda

Задача 2
Есть строка из произвольных символов.
Надо вывести две строки. В первой вывести число, составленное из всех символов-цифр исходной строки в том же порядке. Во второй надо вывести число вдвое больше, чем число в первой строке.
Можно считать, что хотя бы одна цифра в строке есть.

Ввод Вывод
123 123
246
a3 0-+hello_1!!5 3015
6030

Pensiero

Thought for a few seconds

Risposta

Вот решение на Python:

python
s = input() num = "" for ch in s: if ch.isdigit(): num += ch print(num) print(int(num) * 2)

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

  • читаем строку;
  • перебираем все символы;
  • если символ — цифра, добавляем его в строку num;
  • выводим получившееся число;
  • потом переводим его в int и выводим число, умноженное на 2.

Пример:

  • ввод: a3 0-+hello_1!!5
  • цифры: 3015
  • удвоенное число: 6030

Если хочешь, могу ещё оформить это через while или совсем без цикла for.

Domanda

Задача 3
Дана строка s.
Выведи "YES", если в строке s есть хотя бы один символ, совпадающий с одним из своих соседей. Иначе выведи "NO".

Ввод Вывод
1223221 YES
12345678901234567890 NO

Pensiero

Thought for a couple of seconds

Risposta

Вот решение на Python:

python
s = input() ans = "NO" for i in range(len(s) - 1): if s[i] == s[i + 1]: ans = "YES" break print(ans)

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

  • идём по строке;
  • сравниваем каждый символ со следующим;
  • если нашли два одинаковых соседних символа, выводим YES;
  • если таких нет, выводим NO.

Примеры:

  • 1223221 → есть 22, ответ YES
  • 12345678901234567890 → одинаковых соседей нет, ответ NO

Domanda

Задача 4
Есть две строки одинаковой длины. Степень их похожести — это количество пар одинаковых символов, стоящих на одинаковых позициях.
Например. похожесть строк "окно" и "одно" равна 3, а похожесть строк "банка" и "кабан" равна 1.
По двум строкам одинаковой длины выведи степень их похожести.

Ввод Вывод
окно
одно 3
банка
кабан 1

Pensiero

Thought for a couple of seconds

Risposta

Вот решение на Python:

python
s1 = input() s2 = input() count = 0 for i in range(len(s1)): if s1[i] == s2[i]: count += 1 print(count)

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

  • считываем две строки;
  • проходим по всем индексам;
  • если символы на одной и той же позиции равны, увеличиваем счётчик;
  • в конце выводим количество таких совпадений.

Примеры:

  • окно и одно → совпадают о, н, о → ответ 3
  • банка и кабан → совпадает только а на позиции 1 → ответ 1

Можно ещё записать короче:

python
s1 = input() s2 = input() print(sum(1 for i in range(len(s1)) if s1[i] == s2[i]))

Condividi questa Q&A