Язык программирования

1 719 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [114059; 137640] числа, у которых ровно 7 различных натуральных делителей, не считая 1 и самого числа. Для каждого найденного числа выведите эти 7 делителей с новой строки в порядке возрастания суммы этих 7 делителей. Делители должны следовать в порядке возрастания.

На вход программы поступает последовательность натуральных чисел A. Количество элементов в последовательности больше числа 7. Необходимо определить количество таких пар элементов последовательности Ai и Aj,\( j – i > 4\), где i и j – номера элементов последовательности, где сумма чисел в каждой из этих пар кратна числу 3.  

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


Входные данные
В каждой строке входных данных  записано одно натуральное число, не превосходящее числа 30000.  Ввод чисел оканчивается нулем.

Выходные данные
В качестве ответа программа должна вывести одно число – количество пар элементов, удовлетворяющих условию.
 
 
Примеры
Входные данные Выходные данные
1
10
12
81
2
7
33
99
21
11
121
10
0
6
Даша записывает определенное количество чисел, а Маша следит за тем повторялось ли уже записанное число или нет. Если повторялось Маша говорит YES, если нет - NO. Маша устала и хочет, чтобы вы автоматизировали ее работу. Помогите ей. 

Входные данные: В первой строке водится количество чисел N (1<=N<=100 000), во второй строке список чисел через пробел. 
Выходные данные: Для каждого числа выведите слово YES (в отдельной строке), если это число ранее встречалось в последовательности или NO, если не встречалось.
 

 

Примеры
Входные данные Выходные данные
1 6
1 2 3 2 3 4
NO
NO
NO
YES
YES
NO
✓ 118✗ 252500лёгкаяВойти и решать
+-=#33254
Массив A содержит n целых чисел. Вывыдите знак >, если количество минимальных полжительных чисел больше, чем максимальных отрицательных. Выведите знак <, если количество минимальных положительных чисел меньше, чем максимальных отрицательных. При равенстве выведите знак =.
Если среди чисел нет положительных (отрицательных), то количество минимальных положительных (максимальных отрицательных) считать равным 0.
 

Входные данные
Первая строка входных данных содержит число n (0 <= n <= 105). Вторая строка содержит n целых чисел ai- элементы массива (-109 <= ai <= 109).

Выходные данные
Выведите один знак (>, <, =) - ответ на задачу.

 
Примеры
Входные данные Выходные данные
1 5
1 1 2 -2 -1
>
2 7
1 1 2 -1 -1 -2 -3
=

На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре неважен).
Необходимо определить минимальную сумму произвольной пары чисел и количество пар с суммой равной минимальной. 

Входные данные
В первой строке входных данных задаётся количество чисел N (\(1 < N <= 10000\)).
В каждой из последующих N строк записано одно натуральное число, не превышающее 10000.

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

 

Примеры
Входные данные Выходные данные
1
10 
1
2
3
1
2
3
1
2
3
1
2 6
2
2
2
1
2
2
3 4

Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит четные элементы массива (то есть те элементы, которые являются четными числами).

Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
 
Выходные данные
Необходимо вывести все четные элементы массива.
 
 
Примеры
Входные данные Выходные данные
1 5
1 2 3 4 5
2 4

Дан массив, состоящий из целых чисел. Нумерация элементов начинается с 0. Напишите программу, которая выведет элементы массива с нечетными индексами (1, 3, 5...).


Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записано N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.

Выходные данные
Необходимо вывести все элементы массива с нечётными индексами.
 
Примеры
Входные данные Выходные данные
1 6
4 5 3 4 2 3
5 4 3
 
Для каких из следующих данных НЕ подходит массив:
1. хранение оценок ученика за двенадцать промежуточных экзаменов;
2. хранение имени, номера социального обеспечения, возраста и дохода одного человека;
3. хранение температуры, принятой за каждый час в течение дня;
4. хранение общего объема продаж в магазине, за каждый из двенадцати месяцев.
Дано N трехзначных чисел (1<=N<=1000). Необходимо вывести их в порядке возрастания.

Нельзя использовать встроенную сортировку

Пример
Входные данные
9
639 265 915 993 436 202 573 906 490 

Выходные данные
202 265 436 490 573 639 906 915 993
Дано N двузначных положительных чисел. Необходимо вывести их в порядке увеличения первой цифры. Если первые цифры одинаковы, то вывести их в порядке следования в исходном массиве.

Формат входных данных
В первой строке записано натуральное число N (1<=N<=1000). Вторая строка содержит n двузначных положительных чисел numsi (1 ≤ i ≤ n, 10 ≤ numsi ≤ 99).

Формат выходных данных
Выведите ответ на задачу.
Формат входных данных
В первой строке записано натуральное число n (n < 100). Вторая строка содержит n положительных целых чисел mi - вес i-го предмета (1 ≤ i ≤ n, 1 ≤ ai ≤ 105). 

Формат выходных данных
Напечатайте массу предмета, являющегося "пятым самым легким предметом".
Формат входных данных
В первой строке записано натуральное число n (n < 100, n - четное). Вторая строка содержит n положительных целых чисел mi - рост i-го учащегося (1 ≤ i ≤ n, 1 ≤ ai ≤ 105). 

Формат выходных данных
Напечатайте рост тех двоих людей, которые бы оказались в середине шеренги в случае построения ее по ранжиру (по убыванию роста).
В каждом из двух классов учатся по n человек (10 <= n <= 30). Известны средний балл каждого ученика каждого класса, подсчитанные по ряду предметов (все значения целые). Определить, в каком классе у "третьего из самых успевающих учеников" средняя оценка больше. Вывести цифру "1" - для первого класса, "2" - для второго. Если оценки равны, вывести эту оценку.


Формат входных данных
В первой строке записано натуральное число n (n < 100) - количество учеников в каждом классе . Вторая строка содержит n положительных целых чисел class1i - средний балл i-го ученика первого класса (1 ≤ i ≤ n, 1 ≤ class1i ≤ 105). Третья строка содержит n положительных целых чисел class2i - средний балл i-го ученика первого класса (1 ≤ i ≤ n, 1 ≤ class2i ≤ 105).

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

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

 
Примеры
Входные данные Выходные данные
1 4
2 -4 0 100
2 100
✓ 1 203✗ 4 672200лёгкаяВойти и решать
Ученые планируют провести важный эксперимент с использованием исследовательского модуля
на планете X-2019. В процессе эксперимента будет проведено два измерения: основное и контрольное.
Каждое измерение занимает ровно один час и должно начинаться спустя целое число часов после
начала работы исследовательского модуля.
Данные эксперимента планируется немедленно передать на орбитальную станцию. Канал связи
с орбитальной станцией будет установлен с l-го по r-й час от начала работы исследовательского модуля, включительно. Кроме того, согласно плану эксперимента между измерениями планета
должна совершить целое число оборотов вокруг своей оси. Планета X-2019 осуществляет оборот
вокруг своей оси за a часов.
Таким образом, если измерения осуществляются на i-м и j-м часу, то должно выполняться неравенство l <= i < j <= r, а величина (j − i) должна быть кратна a. Теперь учёным необходимо понять,
сколько существует различных способов провести измерения.
Требуется написать программу, которая по заданным границам времени измерений l и r и периоду обращения планеты вокруг своей оси a определяет количество возможных способов провести
измерения: количество пар целых чисел i и j, таких что l <= i < j <= r, и величина (j − i) кратна a.

Формат входных данных
Входные данные содержат три целых числа, по одному на строке: l, r и a (1 <= l < r <= 109,1 <= a <= 109).
Формат выходных данных
Выведите одно целое число: количество способов провести измерения.

Ввод Вывод
1
5
2
4
4
9
6
0

Пояснения к примерам
В первом примере можно провести измерения в следующие пары часов: (1, 3), (1, 5), (2, 4), (3, 5).
Во втором примере продолжительности работы канала связи недостаточно, чтобы провести два
измерения.

 

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

 

Примеры
Входные данные Выходные данные
1 1 2 3 2 1 3

 

✓ 227✗ 210400лёгкаяВойти и решать
Напишите программу, которая будет выполнять последовательность запросов вида ADD num, PRESENT num и COUNT (без параметра). Программу обязательно следует писать с использованием шаблонного типа set.
 
Выполнение каждого запроса вида ADD num должно добавлять элемент num во множество (если такой элемент уже есть, добавление ещё одной копии не изменяет множество), на экран при этом ничего не выводится.
 
При выполнении каждого запроса вида PRESENT num должно выдаваться сообщение «YES» или «NO» (большими буквами, в отдельной строке), соответственно тому, есть ли такой элемент во множестве; значение множества при этом не изменяется.
 
При выполнении каждого запроса вида COUNT должна выдаваться на экран в отдельной строке текущее количество различных элементов в множестве; значение множества при этом не изменяется.
 
Входные данные
В первой строке стандартного входного потока задано количество запросов N (1 < N < 100000), далее следуют N строк, каждая из которых содержит по одному запросу согласно описанного формата.
 
Значения чисел не превышают по модулю 100000000.
 
Выходные данные
Выводите на стандартный выход (экран) в отдельных строках результаты запросов PRESENT и COUNT; на запросы ADD ничего выводить не надо.

 
Примеры
Входные данные Выходные данные
1
7
ADD 5
ADD 7
COUNT
PRESENT 3
PRESENT 5
ADD 3
COUNT
2
NO
YES
3
✓ 354✗ 330400лёгкаяВойти и решать
Дана правильная рациональная несократимая дробь a / b. С этой дробью выполняется следующая операция: к числителю и знаменателю дроби прибавляется 1, после чего дробь сокращается. Определите, можно ли при помощи таких операций из дроби a / b получить другую правильную дробь c / d.

Программа получает на вход четыре целых числа a, b, c, d, причём 0 < a < b ≤ 105, 0 < с < d ≤ 105, числа a и b взаимно простые, числа с и d взаимно простые, a / b ≠ c / d.
Программа должна вывести одно натуральное число – сколько описанных операций нужно применить, чтобы из дроби a / b получить дробь с / d. Если это сделать невозможно, программа должна вывести число 0.

Ввод Вывод Примечание
1
3
2
3
 
2
Дана дробь 1 / 3. После первой операции получается дробь
2 / 4, которая сокращается до 1 / 2. После второй операции
получается дробь 2 / 3.
2
3
1
3
0
Получить из дроби 2 / 3 дробь 1 / 3 невозможно.
 
 
Выборы президента США проходят по непрямой схеме. Упрощённо схема выглядит так. Сначала выборы проходят по избирательным округам, на этих выборах голосуют избиратели (то есть все граждане, имеющие право голоса). Затем голосование проходит в коллегии выборщиков, на этих выборах каждый избирательный округ представлен одним выборщиком, который голосует за кандидата, победившего на выборах в данном
избирательном округе. Кандидатов в президенты несколько, но реально борьба разворачивается между двумя кандидатами от основных партий, поэтому для победы в выборах кандидату нужно обеспечить строго больше половины голосов в коллегии выборщиков. Но для того, чтобы выборщик проголосовал за данного кандидата, необходимо, чтобы в его избирательном округе этот кандидат также набрал строго больше половины
голосов избирателей. Известны случаи (например, в 2016 году), когда из-за такой непрямой избирательной системы в выборах побеждал кандидат, за которого проголосовало меньше избирателей, чем за другого кандидата, проигравшего выборы. 

Пусть коллегия выборщиков состоит из N человек, то есть имеется N избирательных округов. Каждый избирательный округ, в свою очередь, состоит из K избирателей. Определите наименьшее число избирателей, которое могло проголосовать за кандидата, одержавшего победу в выборах. 

Программа получает на вход два целых числа N и K (1 ≤ N ≤ 103 , 1 ≤ K ≤ 106 ) и должна вывести одно целое число – искомое количество избирателей.

Ввод Вывод Примечание
5
3
6
Чтобы данный кандидат получил большинство в коллегии
выборщиков, необходимо, чтобы 3 из 5 выборщиков
проголосовали за него, то есть кандидат должен одержать
победу в 3 округах. Каждый округ состоит из 3 избирателей,
поэтому для победы в округе необходимо набрать 2 голоса
в данном округе.
 

Дима – программист, поэтому на его компьютере всегда открыто много окон. Так как у Димы не очень большой монитор, на нём может отображаться только одно окно. В каждый момент времени оконный менеджер хранит список открытых окон, первое окно списка отображается на мониторе. Для переключения окон Дима использует сочетание клавиш Alt + Tab. Если удерживать эту кнопку нажатой в течение T секунд, то. T + первое по счёту окно в текущей нумерации переместится на первую позицию, а относительный порядок остальных окон не изменится. 

Например, на рисунке ниже показано, что произойдёт с порядком окон, если нажимать на Alt + Tab в течение 3 секунд. Если держать Alt + Tab N – 1 секунду, то первым станет последнее окно из списка. Список открытых окон «зациклен», за последним окном следует первое окно из списка, т. е. если удерживать Alt + Tab нажатым N секунд, то окно, которое было первым в списке, останется на первом месте.

Если удерживать Alt + Tab N + 1 секунду, на первое место переместится второе по счёту окно и т.д.

В начале рабочего дня любимая среда разработки Димы имела номер M в списке открытых окон. В течение дня Дима K раз использовал сочетание клавиш Alt + Tab. Определите, на какой позиции находится его любимая среда разработки в конце дня.

Входные данные:
Первая строка входных данных содержит целое число N, \(1 <= N <= 10^5\) – количество окон на экране.
Вторая строка содержит целое число M, \(1 <= M <= N \)– номер, который имела любимая среда разработки Димы в начале дня.
Третья строка содержит целое число K, \(1 <= K <= 10^5\) – количество раз, которое Дима нажимал Alt + Tab. В последующих K строках содержатся целые положительные числа, не превосходящие 105  – длительность каждого нажатия в секундах.
Выходные данные:
Программа должна вывести одно целое число – позицию любимой среды Димы в конце рабочего дня.
 
Примеры
Входные данные Выходные данные Примечание
1
3
2
3
1
5
2
3
На экране три окна. Пронумеруем окна от 1 до 3 в том порядке, в
котором они располагались в начале дня. Димина среда разработки
имела номер 2. Дима нажимал на Alt + Tab три раза,
продолжительность нажатий была 1, 5 и 2 секунды. Тогда
расположение окон после каждого из нажатий будет таким:
Нажатие в течение 1 с, второе окно перемещается в начало – 2 1 3.
Нажатие в течение 5 с, третье окно перемещается в начало – 3 2 1
Нажатие в течение 2 с, третье окно перемещается в начало – 1 3 2
В результате Димина среда разработки оказалась на месте 3 в списке
✓ 184✗ 420700средняяВойти и решать
Поделиться
Класснуть