Типы данных

465 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Дано предложение. Напечатать все его символы, предшествующие первой запятой. Если запятых в предложении нет, то вывести все предложение. 

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

Входные данные: в первой строке задается исходное предложение.

Выходные данные: необходимо вывести все символы предложения, которые предшествуют первой запятой, если запятых нет - вывести все предложение

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1
fore, s t.
fore
2 fore s t. fore s t.
21883#21883
Введите с клавиатуры целое число X (|X| ≤ 109).
В первых трех строках выведите это число на экран в двоичной, восьмеричной, 16-ричной системах счисления.
В следующих двух строках выведите, поместится ли это число в ячейке типа byte и ячейке типа short ("YES"/"NO").
Запрещается использовать циклы и знания о том, сколько именно байт/бит памяти занимают переменные типа int, byte, short.
Пример ввода:
123
 
Пример вывода:
1111011
173
7B
YES
YES
 
Пример ввода:
40000
 
Пример вывода:
1001110001000000
116100
9C40
NO
NO

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

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 a b 0
2 t test slovo 1
Дана строка. Напишите программу, которая определяет, есть ли в заданной строке цифры.

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 test NO
2 Ocenka-5 YES
В строке записано предложением. Напишите программу, которая будет определять количество слов в нем. В предложении между словами только один пробел, в конце и в начале пробелов нет.

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 test 1
2 test test 2
В одной строке через пробел записаны число и некоторый текст. Напишите программу, которая выводит из текста те символы, номера которых кратны заданному числу (нумерация начинается с 1).

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 2 slovo lv
2 3 test test stt
В одной строке записаны символ и некторый текст. Напишите программу, которая заменяет все символы текста, стоящие на четных местах, заданным символом. Нумерация символов начинается с 1.

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 t slovo stoto
2 a test test tasa aeat
В одной строке через пробел заданы два символа и некоторый текст. Напишите программу, которая заменить в тексте все буквы, совпадающие с первым символом, на второй.

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 a b slovo slovo
2 r t rr rr tt tt

Пользователь вводит количество слов, а затем сами слова — каждое на отдельной строке. Сохраните все слова в список.

Выведите две строки:

  1. Исходный список — слова через пробел в порядке ввода.
  2. Отсортированный список — слова через пробел по возрастанию длины. Если длины равны, сохраните порядок ввода.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 15\)).

Следующие \(N\) строк — по одному слову (строчные русские буквы, без пробелов).

Формат выходных данных

Две строки: исходный список и отсортированный по возрастанию длины, слова через пробел.

Примечание

Подсказка: используйте key=len в функции sorted().

Пользователь вводит слова через пробел в одной строке. Сохраните в список только те слова, длина которых строго больше 3. Выведите получившийся список — слова через пробел в том порядке, в котором следуют во входных данных.

Формат входных данных

Одна строка — слова через пробел (от 1 до 20 слов).

Формат выходных данных

Одна строка — слова с длиной больше 3 через пробел. Если таких слов нет, выведите пустую строку.

Пользователь вводит количество товаров, а затем для каждого — название и цену. Сохраните данные в словарь. Выведите только те товары, цена которых строго больше 100, в формате Товар: цена, в порядке ввода.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 10\)).

Следующие \(N\) строк — название товара (одно слово) и целочисленная цена через пробел. Названия уникальны.

Формат выходных данных

Строки в формате Товар: цена для товаров с ценой больше 100, в порядке ввода. Если таких товаров нет, ничего не выводите.

✓ 9✗ 15500лёгкаяВойти и решать

Пользователь вводит количество учеников, а затем для каждого — имя и оценку. Сохраните данные в словарь. Выведите только имена (ключи), каждое на отдельной строке, в порядке ввода.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 10\)).

Следующие \(N\) строк — имя и оценка через пробел. Имена уникальны.

Формат выходных данных

\(N\) строк — имена (в порядке ввода).

✓ 9✗ 2500лёгкаяВойти и решать

Пользователь вводит слово. Подсчитайте, сколько раз встречается каждая буква, и сохраните результат в словарь. Выведите пары буква: количество — каждую на отдельной строке, в алфавитном порядке букв.

Формат входных данных

Одна строка — слово (только строчные русские или латинские буквы, длина от 1 до 50).

Формат выходных данных

Для каждой уникальной буквы — строка вида буква: количество, в алфавитном порядке букв.

✓ 8✗ 4600лёгкаяВойти и решать

Пользователь вводит количество людей, а затем для каждого — имя и возраст. Сохраните данные в словарь (ключ — имя, значение — возраст) и выведите каждую пару в формате Имя: возраст, каждую на отдельной строке, в порядке ввода.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 10\)).

Следующие \(N\) строк — имя и возраст через пробел. Имена уникальны.

Формат выходных данных

\(N\) строк, каждая в формате Имя: возраст (в порядке ввода).

✓ 10✗ 10500лёгкаяВойти и решать

Дана строка ДНК, состоящая из символов A, T, G, C. Длина строки кратна 3. Выполните следующие вычисления:

  1. Длина последовательности.

  2. GC-состав — процентная доля нуклеотидов \(G\) и \(C\): \[\mathrm{GC\%} = \frac{|G| + |C|}{n} \times 100,\] где \(|X|\) — количество символов \(X\), \(n\) — длина строки. Округлить до 2 знаков после запятой.

  3. Обратная комплементарная цепь (reverse complement). Комплементарность: \(A \leftrightarrow T\), \(G \leftrightarrow C\); затем цепь разворачивается.

  4. GC-богатые кодоны — количество кодонов (трёхбуквенных блоков), в которых два или три нуклеотида являются \(G\) или \(C\).

  5. Наиболее частый нуклеотид. При ничьей вывести тот, который идёт первым в алфавитном порядке (A < C < G < T).

Формат ввода. Одна строка — последовательность ДНК (только заглавные A, T, G, C; \(6 \le n \le 300\); \(n\) кратно 3).

Формат вывода. Ровно 5 строк в следующем порядке:

length: <целое>
gc: <вещественное, 2 знака>
rc: <строка>
gc_rich_codons: <целое>
most_frequent: <символ>

Пример ввода:

ATGGGCCCTATGAAA

Пример вывода:

length: 15
gc: 46.67
rc: TTTCATAGGGCCCAT
gc_rich_codons: 2
most_frequent: A

Разбор примера. Последовательность: ATG GGC CCT ATG AAA.

 

GC-состав: \((3+3+2+1)/15 = 9/15 \approx 46.67\%\). Кодоны GGC (\(3\,G/C\)) и CCT (\(2\,G/C\)) — итого 2 GC-богатых кодона. Наиболее частый нуклеотид: \(A=5, G=4, C=3, T=3\) — лидирует \(A\).

 

🔍
Шаг 5: Частотный анализ
Средне
Мы засекли серию повторяющихся сигналов от вируса. Чтобы понять его логику, нужно определить, какой сигнал встречается чаще всего. Это ключевая частота!
Условие задачи
 

Дана строка целых чисел через пробел. Найди число, которое встречается чаще всего, и выведи два числа на отдельных строках: само число и сколько раз оно встречается.

Гарантируется, что такое число единственно.

Входные данные

Одна строка: набор целых чисел через пробел (от 1 до 100 чисел, значения от 0 до 1000).

Выходные данные

Две строки: число-лидер и его частота.

Подсказка: Собери частоты в словарь через d[x] = d.get(x, 0) + 1.
✓ 15✗ 14400лёгкаяВойти и решать

Закончился туристический сезон, и почти все отдыхающие разъехались. Теперь у Портье почти не осталось работы, и он уже успел заскучать. Поначалу он пытался скоротать время, снова и снова убирая номера, решая судоку и раскладывая пасьянсы. Но все это ему быстро надоело.

Однажды он заметил, что один из гостей оставил на столе книгу. Портье придумал следующую игру: он открывает книгу на случайной странице, выбирает какое-то слово и выписывает его большими буквами на отдельном листе бумаги.

После этого он берёт монетку и кладёт её на первую букву слова. Затем много раз (возможно, бесконечное число) он делает следующую операцию: если выбранном слове есть еще одна такая же буква, как и та, на которой лежит монетка, то портье перекладывает эту монетку на любую такую же букву. Если же буква, на которой лежит монетка встречается ровно один раз, то портье сдвигает монетку на следующую букву, а если следующей буквы в слове нет, то игра завершается.

Например, если изначальное слово было <<letovo>>, то монетка будет перемещаться следующим образом (положение монетки в отражено жирным подчёркнутым шрифтом):

  1. letovo

  2. letovo

  3. letovo

  4. letovo

  5. letovo

  6. letovo

  7. letovo

  8. \(\dots\)

Обратите внимание, что в примере выше игра никогда не завершится: монетка будет бесконечно долго перемещаться между двумя буквами <<o>>.

Помогите Портье: по данному вам слову длины \(n\), состоящему только из строчных букв латинского алфавита, узнать завершается ли на этом слове придуманная им игра.

В первой строке дано число \(n\) (\(1 \le n \le 100\,000\)) — длина строки.

Во второй строке дана строка \(s\), строка состоит только из строчных букв латинского алфавита.

Выведите <<YES>>, если игра завершается, и <<NO>> — в противоположном случае.

В игре Brawl Stars игрок получает супер-бонус, если количество его трофеев кратно 100 и при этом не менее 500.​

Напишите программу, которая запрашивает у пользователя количество трофеев и определяет, получит ли игрок супер-бонус.

Входные данные: количество трофеев (целое положительное число)

Выходные данные:

  • YES — если количество его трофеев кратно 100 и при этом не менее 500.​

  • NO — в остальных случаях

Даша в Roblox строит город и ей нужно построить N домиков. Каждый домик выглядит как крыша: /\

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

Входные данные: число N

Выходные данные: N домиков (без пробелов)

Алфавитно-частотный словарь - это частотный словарь, в котором слова с указанием их частоты (встречаемости) расположены по алфавиту.
Постройте словарь, отсортированный по частоте слов, в котором слова расположены порядке уменьшения их частоты встречаемости, справа от каждого слова должно быть указано сколько раз оно встречается в тексте. Если количество слов одинаково, сортировка идет по словам в лексикографическом порядке.  Признаком окончания текста является "END!". 

Входные данные
На вход подаются строки текста. Последняя строка содержит одно единственное слово "END!" и является признаком окончания текста.

Выходные данные
Выведите на экран все слова, с указанием через пробел того, сколько раз это слово встречается в тексте. Каждое слово в отдельной строке. Слова должны быть расположены в порядке уменьшения частоты встречаемости.

 
Примеры
Входные данные Выходные данные
1 один два
три один
два
END!
два 2
один 2
три 1
✓ 113✗ 363400лёгкаяВойти и решать
Поделиться
Класснуть