Массивы

716 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Вовочка ломает систему безопасности Пентагона. Для этого ему понадобилось узнать, какие символы в секретных зашифрованных посланиях употребляются чаще других. Для удобства изучения Вовочка хочет получить графическое представление встречаемости символов. Поэтому он хочет построить гистограмму количества символов в сообщении. Гистограмма – это график, в котором каждому символу, встречающемуся в сообщении хотя бы один раз, соответствует столбик, высота которого пропорциональна количеству этих символов в сообщении.

Входные данные
Входной файл содержит зашифрованный текст сообщения. Он содержит строчные и прописные латинские буквы, цифры, знаки препинания («.», «!», «?», «:», «-», «,», «;», «(», «)»), пробелы и переводы строк. Размер входного файла не превышает 104 байт. Текст содержит хотя бы один непробельный символ. Все строки входного файла не длиннее 200 символов.

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

Пример
Входные данные Выходные данные
Hello, world!
     #   
     ##  
#########
!,Hdelorw
Twas brillig, and the slithy toves
Did gyre and gimble in the wabe;
All mimsy were the borogoves,
And the mome raths outgrabe.
         #              
         #              
         #              
         #              
         #              
         #         #    
         #  #      #    
      #  # ###  ####    
      ## ###### ####    
      ##############    
      ##############  ##
#  #  ############## ###
########################
,.;ADTabdeghilmnorstuvwy
Дано натуральное число N (\(N<=10^9\)). Определить его максимальную четную и минимальную четную цифры.

Входные данные 
На вход подается одно число.

Выходные данные 
Выведите через пробел два числа: сначала минимальную четную цифру, затем максимальную. Если четных цифр в числе нет, выведите NO.

Гарантируется, что если в  числе есть четные цифры, то их не менее двух.

 

Примеры
Входные данные Выходные данные
1 45545 4 4
2 111 NO
Дана последовательность целых чисел. Найти в ней минимальное число, не кратное 3. В последовательности имеется как минимум одно число не кратное 3

Входные данные: В первой строке вводится число N - количество чисел в последовательности, а затем N целых чисел, по одному в строке.
Выходные данные: Выведите ответ на задачу

Примеры
Входные данные Выходные данные
1 7
4
6
5
-3
-4
3
-2
-4
 
 
Дана последовательность целых чисел. Найти в ней минимальное число, кратное 3. В последовательности имеется как минимум одно число кратное 3

Входные данные: В первой строке вводится число N - количество чисел в последовательности (N - положительное число, не превышающее 100) , а затем N целых чисел, по одному в строке (каждое число не превышает по модулю 1000).
Выходные данные: Выведите ответ на задачу

Примеры
Входные данные Выходные данные
1 7
4
6
5
-3
-4
3
-2
-3
 
 
Дана последовательность целых чисел. Найти в ней максимальное число, кратное 3. В последовательности имеется как минимум одно число кратное 3

Входные данные: В первой строке вводится число N - количество чисел в последовательности, а затем N целых чисел, по одному в строке.
Выходные данные: Выведите ответ на задачу

Примеры
Входные данные Выходные данные
1 7
4
6
5
-3
-4
3
-2
6
 
 
Дана непустая последовательность целых чисел, оканчивающаяся нулем. Ноль в последовательность не входит, служит признаком ее окончания. Найти количество чисел последовательности, которые больше первого введенного числа.

Входные данные 
На вход поступают числа последовательности, по одному числу в строке. Ноль - признак окончания ввода.

Выходные данные 
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 3
5
3
4
7
0
3
Дано натуральное число N. Определить количество его цифр, кратных z

Входные данные 
Вводятся два числа через пробел, сначала натуральное число N, затем - z (\(0< z <=9\)).

Выходные данные 
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 432 2 2
В мире волшебников серебряный сикль равняется 29 бронзовым кнатам, а 17 сиклей равны 1 золотому галеону. В мире маглов галеон равен примерно 5 фунтам. Однако курс обмена может меняться.

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

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

Например, пусть Рон правильно выполнил первое задание (выиграл начальную ставку в 1 сикль, поставил на следующий раунд 1 сикль), затем не выполнил второе задание (проиграл 1 сикль и удвоил ставку), не справился с третьим заданием (проиграл 2 сикля и снова удвоил ставку), но четвертое задание ему все-таки удалось выполнить (выиграл 4 сикля, сбросил ставку на 1 сикль). Затем он правильно выполняет и пятое задание (выиграл 1 сикль) и заканчивает игру. Итого на его счету после игры: 1 – 1 – 2 + 4 + 1 = 3 сикля.

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

Входные данные
Первая строка содержит целое число N (\(0 < N <= 2000\)) — количество заданий, которое выполнил Рон. В следующих N строках располагаются числа 0 или 1 (по одному числу в строке): 1, если Рон выполнил очередное задание, и 0 – если не выполнил

Выходные данные
Выведите одно целое число — выигрыш или проигрыш Рона (выигрыш определяется положительным числом, а проигрыш – отрицательным).
 

 

Примеры
Входные данные Выходные данные
1 5
1
1
0
1
1
4
Дана последовательность целых ненулевых чисел, оканчивающаяся нулем (ноль в последовательность не входит). Необходимо найти расстояние (по модулю) между первым минимальным и первым максимальным числом последовательности. 

Входные данные 
На вход подаются целые числа (по одному числу в строке).

Выходные данные 
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 -1
-2
1
7
2
0
2

Дано число n. Найдите число из диапазона от 1 до n с максимальной суммой своих делителей (включая непростые делители, 1 и само число). Если таких чисел несколько, выведите минимальное из них.

Входные данные: На вход программе подается натуральное n<=2500.
Выходные данные: Выведите искомое число.

Примеры
Входные данные Выходные данные
1 5 4
2 12 12
Дан массив произвольных целых чисел. Напишите программу, которая за один проход по массиву находит непрерывный кусок, сумма чисел в котором максимальна.
Примечание. Фактически требуется найти такие i и j (i<=j), что сумма всех элементов массива от ai до aj включительно будет максимальна. Индексация элементов начинается с 1.

Входные данные
В первой строке задается натуральное число n <= 100000 — количество элементов в массиве. В следующих n строках задаются сами элементы массива — целые числа, по модулю не превосходящие 30 000.

Выходные данные
Выведите пару искомых значений индексов. Если таких пар несколько, то j должно быть минимально возможным, а при равных j значение i должно быть максимально возможным. В первой строке выведите i, во второй - j.
 
Примеры
Входные данные Выходные данные
1 5
-1
2
3
-2
2
2
3
2 7
2
-2
3
-1
5
-2
7
3
7
Дан массив чисел. Необходимо записать в другой массив, все числа Фибоначчи исходного массива. Если в исходном массиве нет чисел Фибоначчи, программа должна вывести число 0.

Входные данные
Первая строка содержит размер массива N. Во второй строке через пробел задаются N чисел – элементы массива (целые неотрицательные числа, не превышающие 1000). Гарантируется, что 0 < N ≤ 10000.

Выходные данные
Программа должна вывести в одну строчку все элементы построенного массива, разделив их пробелами. Если ни одного подходящего элемента в массиве не было, программа должна вывести число 0.
 
Примеры
Входные данные Выходные данные
1 6
4 14 5 8 12 13
5 8 13
Дан массив чисел. Необходимо записать в другой массив все простые числа исходного массива. Если в исходном массиве нет простых чисел, программа должна вывести число 0.

Входные данные
Первая строка содержит размер массива N. Во второй строке через пробел задаются N натуральных чисел – элементы массива (все числа не превышают 1000). Гарантируется, что 0 < N ≤ 10000.

Выходные данные
Программа должна вывести в одну строчку все элементы нового массива, разделяя их пробелами. Если ни одного подходящего элемента в массиве не было, программа должна вывести число 0.
 
Примеры
Входные данные Выходные данные
1 6
1 2 3 4 5 6
2 3 5
Дан массив чисел. Необходимо записать в другой массив все трёхзначные числа исходного списка, которые делятся на K и не делятся на M .

Входные данные
Первая строка содержит количество чисел  - N . Во второй строке через пробел задаются N чисел – элементы массива (положительные целые числа не более 105). Гарантируется, что 0 < N <= 10000 . В третьей строке через пробел записаны два числа – K (1 < K <= 100) и M (1 <= M <= 100).

Выходные данные
Программа должна вывести в одну строчку все элементы нового массива, разделяя их пробелами. Если ни одного подходящего элемента в массиве не было, программа должна вывести число 0.
 
Примеры
Входные данные Выходные данные
1 6
28 204 103 804 105 106
2 3
106
Дан набор чисел. Заполните исходными числами массив. Выведите элементы данного массива в обратном порядке, не изменяя сам массив.

Входные данные
Вводится набор чисел. Все числа находятся на одной строке. Количество чисел не более 100.

Выходные данные
Выведите содержимое массива в обратном порядке в одну строку, разделяя числа одним пробелом.
 
Пример
Входные данные Выходные данные
1 1 2 3 4 5 5 4 3 2 1
Дано N целых чисел. Найти третий по величине максимальный элемент последовательности (элемент, который бы стоял третьим, если бы входные данные отсортировали по неубыванию).

Входные данные
В первой строке задается число N (\(3<=N<=10^5\)). Далее идут N строк, по одному числу в каждой строке.

Выходные данные
Выведите третий максимальный элемент.
 

 

Примеры
Входные данные Выходные данные
1 7
10
15
35
35
14
35
10
35
2 5
10
5
7
11
9
9
 
 
В 1995 году Роулинг закончила свою рукопись романа «Гарри Поттер и философский камень», которую печатала на старой пишущей машинке. После восторженного отзыва Брайони Ивенса, читателя, которому было предложено оценить первые три главы книги, фулхэмская фирма литературных агентов Christopher Little Literary Agents согласилась представлять Роулинг во время поисков издателя. Книга была отправлена в двенадцать издательств, но все они отвергли рукопись. Год спустя она, наконец, получила зелёный свет (и 1500 фунтов аванса) от редактора Барри Каннингема из лондонского издательства Bloomsbury.
Дж. Роулинг во время поисков издателей получила N предложений напечатать роман. Помогите ей оценить, сколько всего издательств предложило ей максимальный гонорар.

Входные данные
В первой строке задается число N. В следующих N строках записаны натуральные числа (не более 5000 каждое),  по одному числу в строке.

Выходные данные
Выведите одно  число - количество издательств с максимальным размером гонорара.
 

 

Примеры
Входные данные Выходные данные
1 4
1547
1600
1325
1600
2

Дано натуральное число n. Выведите в порядке возрастания все трехзначные числа, сумма цифр которых равна n.

Входные данные: Вводится натуральное число n.
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 3 102
111
120
201
210
300
Василий придумал себе занятие пока сидит в очереди в регистратуру поликлиники. Рассматривая номера талонов у рядом сидящих людей (все талоны имеют четырехзначный номер), он решил посчитать, сколько талонов имеют номер с четной суммой цифр. Когда подошла очередь Василия, он уже разглядел номера у 4-х талонов.
Напишите программу, которая поможет Василию.

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

Выходные данные
Необходимо вывести одно число.
 
Примеры
Входные данные Выходные данные
1 1353
2349
6983
6346
3
Дано трехзначное число. Какая цифра больше, вторая или последняя (если считать цифры слева направо)? Выведите наибольшую из этих цифр.


Входные данные 
На вход подается одно натуральное число (100<=n<=999). Все цифры числа различные.

Выходные данные 
Вывести ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 354 5
Поделиться
Класснуть