Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
15844#15844
Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 3 или оканчивающихся на 5. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 3 или оканчивающихся на 5.

Пример работы программы
 
Входные данные
13
12
78
79
15
8
0
Выходные данные
3
15843#15843
Напишите программу, которая в последовательности натуральных чисел определяет среднее арифметическое трехзначных чисел или сообщает, что таких чисел нет (выводит "NO"). Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 300. Введенные числа не превышают 500.  
Программа должна вывести одно число: среднее арифметическое трехзначных чисел или вывести "NO", если таких чисел нет. Значение выводится с точностью до десятых

Пример работы программы
 
Входные данные
78
456
123
91
0
Выходные данные
289.5
15842#15842
Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое нечетных чисел. Программа получает на вход целые положительные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа не превышают 10 000.  
Программа должна вывести одно число: среднее арифметическое нечетных чисел (с точностью до десятых)

Пример работы программы
 
Входные данные
7
2
7
0
Выходные данные
7.0
15841#15841
Напишите программу, которая в последовательности целых чисел определяет значение наименьшего числа из всех четных введенных чисел. Программа получает на вход целые положительные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа не превышают 30 000.  Среди  введенных чисел есть хотя бы одно четное
Программа должна вывести одно число: наименьшее из всех четных введенных чисел

Пример работы программы
 
Входные данные
10
7
12
0
Выходные данные
10
15840#15840
Напишите программу, которая в последовательности целых чисел определяет значение наибольшего числа из всех нечетных введенных чисел. Программа получает на вход целые положительные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа не превышают 30 000.  Среди введенных чисел есть хотя бы одно нечетное
Программа должна вывести одно число: наибольшее из всех нечетных введенных чисел

Пример работы программы
 
Входные данные
15
20
17
0
Выходные данные
17
15839#15839
Напишите программу, которая в последовательности целых чисел определяет количество нечетных положительных чисел. Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа не превышают 30 000. 
Программа должна вывести одно число: количество нечетных положительных чисел

Пример работы программы
 
Входные данные
-17
2
7
0
Выходные данные
1
 
15838#15838
Напишите программу, которая в последовательности целых чисел определяет количество четных отрицательных чисел. Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа не превышают 30 000. 
Программа должна вывести одно число: количество четных отрицательнх чисел

Пример работы программы
 
Входные данные
-17
2
-6
0
Выходные данные
1
15837#15837
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 6. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. 
Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 6.

Пример работы программы
 
Входные данные
36
12
16
66
11
0
Выходные данные
102
15836#15836
Напишите программу, которая в последовательности натуральных чисел определяет количество всех четных чисел, кратных 9. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введенные числа не превышают 30 000. 
Программа должна вывести одно число: количество всех четных чисел, кратных 9.

Пример работы программы
 
Входные данные
27
24
18
22
36
0
Выходные данные
2
15835#15835
Напишите программу, которая в последовательности натуральных чисел определяет количество всех четных чисел, кратных 5. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введенные числа не превышают 30 000. 
Программа должна вывести одно число: количество всех четных чисел, кратных 5.

Пример работы программы
 
Входные данные
10
14
50
25
17
0
Выходные данные
2
15834#15834
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введенные числа не превышают 30 000. 
Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 4.

Пример работы программы
 
Входные данные
24
6
34
22
84
0
Выходные данные
108
15833#15833
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0-признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введенные числа не превышают 30 000.
Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 2.

Пример работы программы
 
Входные данные
112
24
42
49
22
0
Выходные данные
154

На городской олимпиаде по информатике участникам было предложено выполнить 3 задания, каждое из которых оценивалось по 25-балльной шкале. Известно, что общее количество участников первого тура олимпиады не превышает 250 человек. 

На вход программы подаются сведения о результатах олимпиады. В первой строке вводится количество участников N. Далее следуют N строк, имеющих следующий формат: 
<Фамилия> <Имя> <Баллы>

где <Фамилия> – строка, состоящая не более чем из 20 символов; 
- <Имя> – строка, состоящая не более чем из 15 символов; 
- <Баллы> – строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученных участником за каждое задание первого тура. При этом <Фамилия> и <Имя>, <Имя> и <Баллы> разделены одним пробелом.

Примеры входных строк:    
Петрова Ольга 25 18 16
Калиниченко Иван 14 19 15 

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

На вход программе сначала подается число участников олимпиады N. В каждой из следующих N строк находится результат одного из участников олимпиады в следующем формате:
<Фамилия> <Имя> <класс> <баллы>,

где <Фамилия> – символьная строка (не более 20 символов);
- <Имя> – символьная строка (не более 15 символов);
- <класс> – число от 7 до 11;
- <баллы> – целое число набранных участником баллов. 

<Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <баллы> разделены одним пробелом.

Пример входной строки:
Семенов Егор 11 225

Победителем олимпиады становится участник, набравший наибольшее количество баллов, при условии, что он набрал более 200 баллов. Если такое количество баллов набрали несколько участников, то все они признаются победителями при выполнении условия, что их доля не превышает 20% от общего числа участников.
Победителем олимпиады не признается никто, если нет участников, набравших больше 200 баллов, или больше 20% от общего числа участников набрали одинаковый наибольший балл.
Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять фамилию и имя лучшего участника, не ставшего победителем олимпиады. Если таких участников несколько, т.е. если следующий за баллом победителей один и тот же балл набрали несколько человек, или, если победителей нет, а лучших участников несколько (в этом случае именно они являются искомыми), то выдается только количество искомых участников. Гарантируется, что искомые участники (участник) имеются. 

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

Пример выходных данных (один искомый участник):
Семенов Егор
 
Второй вариант выходных данных (несколько искомых участников):
12
 
На вход программы подаются прописные латинские буквы, ввод этих символов заканчивается точкой. Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять, можно ли переставить эти буквы так, чтобы получился палиндром (палиндром читается одинаково слева направо и справа налево). Программа должна вывести ответ «Yes» или «No», а в случае ответа «Yes» – еще и сам полученный палиндром (первый в алфавитном порядке). 

Пример входной строки: 
GAANN.

Пример выходных данных: 
Yes
ANGNA
АЗС#15827

На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС. 

Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять для каждого вида бензина, сколько АЗС продают его дешевле всего. 

На вход программе в первой строке подается число данных N о стоимости бензина. В каждой из последующих N строк находится информация в следующем формате: 
<Компания> <Улица> <Марка> <Цена>

где <Компания> – строка, состоящая не более, чем из 20 символов без пробелов;
- <Улица> – строка, состоящая не более, чем из 20 символов без пробелов;
- <Марка> – одно из чисел – 92, 95 или 98;
- <Цена> – целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках. 

<Компания> и <Улица>, <Улица> и <Марка>, а также <Марка> и <Цена> разделены одним пробелом.

Пример входной строки: 
Синойл Цветочная 95 2250 
Программа должна выводить через пробел 3 числа – количество АЗС, продающих дешевле всего бензин марки 92, 95 и 98 соответственно. Если бензин какой-то марки нигде не продавался, то следует вывести 0. 

Пример выходных данных: 
12 1 0

Школьная олимпиада по информатике проводилась для учеников 7-11-х классов, участвующих в общем конкурсе. Каждый участник олимпиады мог набрать от 0 до 70 баллов. Для определения призеров олимпиады, сначала отбираются 25% участников, показавших лучшие результаты. Если у последнего участника, входящего в 25%, оказывается такое же количество баллов, как и у следующих за ним в итоговой таблице, все они считаются призерами только тогда, когда набранные ими баллы больше половины максимально возможных. Иначе все они не считаются призерами.

Напишите эффективную по времени работы и по используемой памяти программу, которая по результатам олимпиады будет определять минимальный балл призера олимпиады, и количество призеров в каждой параллели (среди 7-х, 8-х, 9-х, 10-х и 11-х классов отдельно). Гарантируется, что, хотя бы одного призера по указанным правилам, определить можно.

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

<Фамилия> <Имя> <класс> <баллы>,

где <Фамилия> – строка, состоящая не более, чем из 30 символов;
- <Имя> – строка, состоящая не более, чем из 15 символов;
- <класс> – число от 7 до 11;
- <баллы> – целое число от 0 до 70 набранных участником баллов.
<Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <баллы> разделены одним пробелом.


Пример входной строки:
Семенов Сидор 11 66
Программа должна выводить в первой строке минимальный балл призера, а в следующей – число призеров по всем параллелям отдельно. 

Пример выходных данных:
63 
1 5 8 12 22
На вход программе подаются сведения о пассажирах, сдавших свой багаж в камеру хранения. В первой строке задано текущее время: через двоеточие два целых числа, соответствующие часам (от 00 до 21, ровно 2 символа) и минутам (от 00 до 59, ровно 2 символа). Во второй строке задается количество пассажиров N, которое не меньше 10, но не превосходит 1000. В каждой из последующих N строк находится информация о пассажирах в следующем формате: 
<Фамилия> <Время освобождения ячейки>,
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Время освобождения ячейки> – через двоеточие два целых числа, соответствующие часам (от 00 до 21, ровно 2 символа) и минутам (от 00 до 59, ровно 2 символа). <Фамилия> и <Время освобождения ячейки> разделены ровно одним пробелом.

Пример входных строк
10:00
3
Иванов 12:00
Петров 10:12
Сидоров 12:12 

Программа должна выводить список пассажиров, которые в ближайшие 2 часа должны освободить ячейки, а также уже освободивших. Список должен быть отсортирован в хронологическом порядке освобождения ячеек. В данном случае программа должна вывести 
Петров
Иванов
 
На вход программе подается текст заклинания, состоящего не более, чем из 200 символов, заканчивающийся точкой (другие точки во входных данных отсутствуют). Оно было зашифровано Гарри Поттером следующим образом. Сначала Гарри определил количество букв в самом коротком слове, обозначив полученное число через K (словом называется непрерывная последовательность английских букв, слова друга от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую английскую букву в заклинании на букву, стоящую в английском алфавите на K букв после (алфавит считается циклическим, то есть, перед буквой A стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остались строчными, а прописные – прописными. 
Требуется написать программу, которая будет выводить на экран текст расшифрованного заклинания.
Например, если зашифрованный текст был Zb Ra Ca Dab Ra, то результат расшифровки должен быть Xz Py Ay Byz Py.
На вход программы подается текст на английском языке, заканчивающийся точкой (другие символы “.” в тексте отсутствуют). Требуется написать программу, которая будет определять и выводить на экран английскую букву, встречающуюся в этом тексте чаще всего, и количество там таких букв. Строчные и прописные буквы при этом считаются не различимыми. Если искомых букв несколько, то программа должна выводить на экран первую из них по алфавиту.
Например, пусть файл содержит следующую запись: 
     It is not a simple task. Yes! 
Чаще всего здесь встречаются буквы I, S и T (слово Yes в подсчете не учитывается, так как расположено после точки). Следовательно, в данном случае программа должна вывести два символа, разделенных пробелом: I 3
Поделиться
Класснуть