Алгоритмы обработки

179 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Напишите программу, которая находит среднее арифметическое всех целых чисел от b до 2*b (значение b вводится с клавиатуры; 1 <= b <= 100). Ваш ответ будет проверен с точностью до 6 знака в дробной части.
Напишите программу, которая находит сумму чисел от 100 до 500 с помощью оператора цикла for. 

Формат входных данных
Программа ничего не получает на вход. 

Формат выходных данных
Выведите одно число - ответ на задачу. 
Мумми-Тролли, полные энтузиазма, решили установить самую высокую ёлку в Муми-доле. Однако, когда они начали искать подходящее дерево, выяснилось, что в лесу растут ели разной высоты: одна — a метра, другая — b метров, а третья — c метров.

Помогите Муми-тролям выбрать из трех данных ёлок самую высокую! 

Вам дано три целых числа: a, b, c - длины ёлок (по одному числу в строке). Выведите на экран длину той ёлки, которая нужна Муми-тролям.

ДНК представляет собой две взаимодополняющие цепи нуклеотидов. Каждому нуклеотиду одной цепи соответствует комплементарный нуклеотид в другой цепи:

  • A (аденин) связывается с T (тимин).
  • T связывается с A.
  • G (гуанин) связывается с C (цитозин).
  • C связывается с G.

Формат входных данных
Строка содержит последовательность ДНК

Формат выходных данных
Выведите комплементарную цепь ДНК
ДНК-последовательности состоят из четырех типов нуклеотидов: A (аденин), T (тимин), G (гуанин) и C (цитозин). В этой задаче необходимо подсчитать количество каждого из этих нуклеотидов в заданной строке (последовательности ДНК).

Формат выходных данных
В строке содержится последовательность ДНК.

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

"Система обновлена! Новый файл доступен: ЧИСЛО.txt."
P.S. Число в названии файла равно числу, полученному в ответе на предыдущюю задачу. Например, если ответ был 123, то доступен файл 123.txt

С волнением Алиса открыла файл и увидела множество строк текста. И тут же в углу появилась подсказка: 

"Найди все строки, что с частого слова начинаются,
После этого слова все тайны шифра открываются!"


P.S. Выведите на экран все нужные строки, в том порядке, в котором они следуют в файле. 
Алиса только что завершила подсчет уникальных слов в файле. Вдруг экран её компьютера ярко засветился, и на нем появилась новая информация:

"Система обновлена! Новый файл доступен: Число.txt."
P.S. Число в названии файла равно числу, полученному в ответе на предыдущюю задачу. Например, если ответ был 123, то доступен файл 123.txt

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

"В файле слов, как в море, не счесть,
Найди, какое из них чаще здесь есть!"


Алиса быстро принялась за дело! И ты не отставай... Найди ответ

P.S. Ваша программа должны вывести самое частое слово и через пробел сколько раз оно встречается. Вам может помочь в этом структура данных "словарь". Вспомните как с ней работать тут
После того как Алиса узнала количество слов в загадочном файле, она заметила, что это число совпадает с названием другого текстового файла — ЧИСЛО.txt.
P.S. Число в названии файла равно числу, полученному в ответе на предыдущюю задачу. Например, если ответ был 123, то доступен файл 123.txt

"Как интересно!" — подумала она. "Кажется, это не случайность!"
Алиса открыла новый файл и увидела множество слов, но среди них были повторяющиеся.

"Чтобы разгадать шифр, мне нужно узнать, сколько уникальных слов в этом файле," — решила она.

Сколько уникальных слов насчитала Алиса?


P.S. Имя файла равно числу, полученному в результате решения предыдущей загадки...

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

Он анализирует записи о своих тренировках за последние \(n\) дней. Для каждого дня ему известна масса тела утром \(x_i\) и масса тела вечером \(y_i\). Также известно, в какие дни штангист проводил тренировку.

Он считает, что в те дни, когда он проводил тренировку, увеличение массы тела, если оно произошло, равно приросту мышечной массы, а если масса тела уменьшалась или тренировки не было, то прирост мышечной массы в этот день равено \(0\).

Помогите штангисту определить суммарный прирост его мышечной массы.

Формат входных данных
Первая строка ввода содержит число \(n\) — количество анализируемых дней (\(1 \le n \le 1000\)).

Вторая строка содержит \(n\) целых чисел, \(i\)-е число равно \(1\), если в \(i\)-й день была тренировка и \(0\), если в \(i\)-й день тренировки не было.

Следующие \(n\) строк содержат результаты измерения массы тела штангиста: по два целых числа \(x_i\) и \(y_i\) — массу тела в граммах (\(30\,000 \le x_i, y_i \le 200\,000\)).

Формат выходных данных
Выведите одно целое число — суммарный прирост мышечной массы штангиста.

Этнограф изучает народ крайнего севера. Его заинтересовала структура бусов, которые составляются из бусин трех цветов: синего, зеленого и красного. Этнографу кажется, что частота, с которой определенные цвета встречаются у соседних бусин, позволяет сделать выводы о культуре народа.

Бусы можно задать в виде строки из заглавных английских букв: <<R>> для красной бусины, <<G>> для зеленой бусины и <<B>> для синей бусины. Соседние буквы в строке соответствуют соседним бусинам. Бусы находятся на круглой нитке, поэтому первая и последняя бусины также являются соседними.

Например, в ожерелье <<RGRGRGRG>> 8 раз рядом встречаются зеленая и красная бусины, а в ожерелье <<RRRR>> 4 раза рядом встречаются две красные бусины.

Помогите этнографу по образцам бусов выяснить, какая пара цветов встречается рядом чаще всего. Порядок цветов в паре не имеет значения.

Формат входных данных
На первой строке ввода находится чиcло \(n\) — количество бус в распоряжении этнографа (\(1 \le n \le 100\)).

На каждой из следующих строк находится строка из букв <<R>>, <<G>> и <<B>>. Длина каждой строки не меньше \(3\) и не больше \(1000\).

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

Ромб#50344

На клетчатом поле размера \(n \times n\), где \(n = 2k+1\) — нечетное число, необходимо изобразить ромб.

Центром поля будем называть клетку \((k + 1, k + 1)\). Расстояние между двумя клетками \((x_1, y_1)\) и \((x_2, y_2)\) будем называть величину \(|x_1 - x_2| + |y_1 - y_2|\).

Ромб с параметрами \((a, b)\) — это множество клеток, расстояние от которых до центра лежит в диапазоне от \(a\) до \(b\), включительно.

По заданным \(n\), \(a\) и \(b\) изобразите ромб.

Формат входных данных
На первой строке ввода находится целое число \(n\) (\(1 \le n \le 201\), \(n\) нечетно).

На второй строке ввода находится целое число \(a\). На третьей строке ввода находится целое число \(b\) (\(0 \le a \le b\), если \(k\) таково, что \(n = 2k+1\), то \(b \le k + 1\)).

Формат выходных данных
Выведите \(n\) строк по \(n\) символов. Клетка ромба обозначается символом <<*>>, клетка, не лежащая в ромбе, обозначается символом <<.>>.

Всем известно, что со временем клавиатура изнашивается, и клавиши на ней начинают залипать. Конечно, некоторое время такую клавиатуру еще можно использовать, но для нажатий клавиш приходиться использовать большую силу.
 
При изготовлении клавиатуры изначально для каждой клавиши задается количество нажатий, которое она должна выдерживать. Если знать эти величины для используемой клавиатуры, то для определенной последовательности нажатых клавиш можно определить, какие клавиши в процессе их использования сломаются, а какие – нет.
 
Требуется написать программу, определяющую, какие клавиши сломаются в процессе заданного варианта эксплуатации клавиатуры.
 
Формат входных данных
Первая строка входного файла содержит целое число n (1 ≤ n ≤ 100) – количество клавиш на клавиатуре. Вторая строка содержит n целых чисел – с1, с2, … , сn, где сi (1 ≤ сi ≤ 100000) – количество нажатий, выдерживаемых i-ой клавишей. Третья строка содержит целое число k (1 ≤ k ≤ 100000) – общее количество нажатий клавиш, и последняя строка содержит k целых чисел pj (1 ≤ pj ≤ n) – последовательность нажатых клавиш.
 
Формат выходных данных
В выходной файл необходимо вывести n строк, содержащих информацию об исправности клавиш. Если i-ая клавиша сломалась, то i-ая строка должна содержать слово “yes” (без кавычек), если же клавиша работоспособна – слово “no”.
Слово называется анаграммой другого слова, если оно может быть получено перестановкой его букв.
 
Формат входных данных
Даны два слова на отдельных строках. Слова состоят из строчных латинских букв и цифр. Длины слов не превышают 255.
 
Формат выходных данных
Требуется вывести "YES"  – если введенные слова являются анаграммами друг друга, "NO"  – если нет.
В двумерном массиве NxM замените значения всех четных элементов массива на значение A

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

В первой строке вводятся через пробел количество строк N (1<=N<=20) и количество столбцов M (1<=M<=20) двумерного массива. Далее идет N строк по M элементов в строке - элементы двумерного массива. Все элементы двумерного массива по модулю не превышают  50. В N+1 строке записано число A (100<=A<=200)


Формат выходных данных
Выведите измененный двумерный массив на экран. Элементы в строке должны разделяться одним пробелом.
 
В двумерном массиве NxM замените значение элемента, расположенного на пересечении строки n1 и столбца m1, на значение A. Нумерация строк и столбцов начинается с 1.

Формат входных данных
В первой строке вводятся через пробел количество строк N (1<=N<=20) и количество столбцов M (1<=M<=20) двумерного массива. Далее идет N строк по M элементов в строке - элементы двумерного массива. Все элементы двумерного массива по модулю не превышают  50. В N+1 строке идут два числа n1, m1 (1<=n1<=N, 1<=m1<=M). В N+2 строке записано число A

Формат выходных данных
Выведите измененный двумерный массив на экран. Элементы в строке должны разделяться одним пробелом.
 
В числовом массиве из N чисел переставьте местами элемент с индексом first с элементом, который имеет максимальное значение. Если максимальных элементов несколько, то необходимо взять последний из них (максимальный элемент с большим индексом). Индексация элементов начинается с 0.

Входные данные
В первой строке записаны через пробел два числа N - количество элементов одномерного массива и число first. Во второй строке записаны N чисел numsi - элементы массива.

Ограничения
1 <= N <= 105
-109 <= numsi <= 109
0 <= first < N


Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
 
 
Примеры
Входные данные Выходные данные
1
5 2
1 -2 -1 2 -2
1 -2 2 -1 -2
Дано натуральное число N (\(N<=10^9\)). Определить две самые большие цифры числа. 

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

Выходные данные 
Выведите две цифры через пробел, сначала наибольшую цифру числа, затем вторую по величине (не равную первой наибольшей цифре).
 

 

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

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

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

 

Примеры
Входные данные Выходные данные
1 3
5
3
4
7
0
3
Поделиться
Класснуть