Информатика

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

Вагоны в электричке пронумерованы натуральными числами, начиная с 1 (при этом иногда вагоны нумеруются от «головы» поезда, а иногда – с «хвоста»; это зависит от того, в какую сторону едет электричка). В каждом вагоне написан его номер.

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

Входные данные: На вход программы поступают два числа i и j (1 ≤ i ≤ 1000, 1 ≤ j ≤ 1000), разделенные пробелом.
Выходные данные: Выведите одно число — количество вагонов в электричке. Если однозначно определить количество вагонов нельзя, выведите  число  0
Примеры
Входные данные Выходные данные
1 3 4 6

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

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

Входные данные: Программа получает на вход два целые числа (по одному в строке) n и k — количество мест в том ряду, где сидит Вася, и номер его места соответственно (1≤k≤n≤50, n — чётно). Места в ряду нумеруются с единицы.

Выходные данные: Программа должна Вывести максимальное количество человек, которое может споткнуться о ноги Васи.
Примеры
Входные данные Выходные данные
1 4
1
1

В офисе, где работает программист Петр, установили кондиционер нового типа. Этот кондиционер отличается особой простотой в управлении. У кондиционера есть всего лишь два управляемых параметра: желаемая температура и режим работы.

Кондиционер может работать в следующих четырех режимах:

  • «freeze» — охлаждение. В этом режиме кондиционер может только уменьшать температуру. Если температура в комнате и так не больше желаемой, то он выключается.
  • «heat» — нагрев. В этом режиме кондиционер может только увеличивать температуру. Если температура в комнате и так не меньше желаемой, то он выключается.
  • «auto» — автоматический режим. В этом режиме кондиционер может как увеличивать, так и уменьшать температуру в комнате до желаемой.
  • «fan» — вентиляция. В этом режиме кондиционер осуществляет только вентиляцию воздуха и не изменяет температуру в комнате.

Кондиционер достаточно мощный, поэтому при настройке на правильный режим работы он за час доводит температуру в комнате до желаемой.

Требуется написать программу, которая по заданной температуре в комнате troom, установленным на кондиционере желаемой температуре tcond и режиму работы определяет температуру, которая установится в комнате через час.

Входные данные: Первая строка содержит два целых числа troom, и tcond, разделенных ровно одним пробелом (–50 ≤ troom ≤ 50, –50 ≤ tcond ≤ 50).

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

Выходные данные: Необходимо вывести дно целое число — температуру, которая установится в комнате через час.

Примечание: 
В первом примере кондиционер находится в режиме нагрева. Через час он нагреет комнату до желаемой температуры в 20 градусов.

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

Входные данные Выходные данные
1 10 20
heat
20
2 10 20
freeze
10

Всем известно, что в 2012 году прошла Летняя Олимпиада в Лондоне, однако не каждый знаком с историей крупнейших спортивных соревнований. Традиция игр зародилась в Древней Греции, но была забыта по завершении античной эпохи и вновь появилась лишь в конце XIX века благодаря французскому общественному деятелю Пьеру де Кубертену.

С 1896 года вновь проводятся летние Олимпийские игры, а с 1924 — зимние, причём оба вида соревнований проходят раз в четыре года. Первое время зимняя и летняя Олимпиады проводились в один и тот же год, но в конце XX века Международный олимпийский комитет принял решение установить между разными видами Игр двухгодичный перерыв. Таким образом, 1992 год был в последний раз отмечен проведением одновременно летних и зимних Олимпийских игр, в 1994 проводились только зимние, в 1996 — летние, и с тех пор они продолжают чередоваться.

Известно также, что в 1916, 1940 и 1944 годах Олимпийские игры были отменены по причине Первой и Второй мировых войн, а в 1906 году проводилась внеочередная Олимпиада.

Требуется написать программу, которая по заданному году определит, проводились ли в этом году Олимпийские игры и были ли они летними или зимними.

Входные данные: На вход программе подаётся одно натуральное число N (1800 ≤ N ≤ 2014) — номер года.

Выходные данные: Выведите «winter», если в этом году была проведена только зимняя Олимпиада, «summer», если только летняя, «winter summer», если прошли обе олимпиады, и «nothing», если в этот год олимпийских игр не проводилось.

Примеры
Входные данные Выходные данные
1 1896 summer
2 1924 winter summer
Обеденный перерыв Гомера Симпсона составляет T миллисекунд. Один гамбургер Гомер съедает за N миллисекунд, один чизбургер - за M. Какое количество гамбургеров и чизбургеров нужно съесть, чтобы потраченное время было как можно больше, не превышая T. При равенстве потраченного времени необходимо максимизировать суммарное количество съеденных гамбургеров и чизбургеров.

Ограничения: 1 <=M, N, T, <= 1000000 , все числа целые.

Входные данные
В первой строке находятся три числа - M, N и T, разделённые пробелами.

Выходные данные
Вывести максимальное суммарное число гамбургеров и чизбургеров. Если остаётся какое-то время, требуется указать его через пробел. Предпочтителен вариант, когда дополнительного времени остаётся как можно меньше.
 
Ввод Вывод
1 2 1000 1000
2 1 1000 1000
3 6 1000 333 1
С клавиатуры вводятся два целых числа - стороны прямоугольника. Напишите программу нахождения его периметра и длины диагонали. Выведите в первой строке периметр прямоугольника, во второй строке - длину его диагонали.
 
Пример
Входные данные Выходные данные
1 2 13 30
13.152946
Палиндромом называется слово, которое одинаково читается как слева направо, так и справа налево, например, в английском языке такими словами являются «radar» и «racecar».
Света изучает английский язык и решила принять участие в дистанционном конкурсе знатоков английского языка. Но, когда она писала ответ на задание «найдите самое длинное слово, которое является палиндромом», ошиблась и нажала на клавиатуре одну лишнюю клавишу.
Определите, какую букву нужно удалить в набранном Светой слове, чтобы это слово стало палиндромом.

Входные данные
Программа получает на вход строку из строчных английских букв, содержащую не менее 2 и не более 100 000 символов.

Выходные данные
Программа должна вывести единственное число – номер буквы в строке, при удалении которой слово становится палиндромом. Если при удалении любой буквы слово не станет палиндромом, программа должна вывести число 0.
Примеры
Входные данные Выходные данные
1 raceczar 6
2 car 0
✓ 38✗ 133800средняяВойти и решать

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

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

Выходные данные: Программа должна вывести одно число – максимальное значение из всех элементов последовательности (не считая числа 0).
 

Примеры
Входные данные Выходные данные
1 1
3
2
0
3
✓ 125✗ 196500лёгкаяВойти и решать

Напишите рекурсивную функцию, которая вычисляет сумму элементов последовательности целых чисел, поданных не её вход. Ввод заканчивается числом 0. Основная программа должна содержать вызов функции и вывод результата. Запрещено использовать циклы

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

Выходные данные: Программа должна вывести одно число – сумму всех элементов последовательности.

Примеры
Входные данные Выходные данные
1 1
2
3
0
6
✓ 243✗ 204500лёгкаяВойти и решать

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

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

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

Примеры
Входные данные Выходные данные
1 1
2
3
4
0
4 1
✓ 30✗ 240800средняяВойти и решать

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

Входные данные: Входная строка содержит одно натуральной число .

Выходные данные: Программа должна вывести количество чётных цифр введённого числа.

Примеры

Входные данные Выходные данные
1 123456 3
2 13579 0
✓ 429✗ 380400лёгкаяВойти и решать

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

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата)

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

 

Примеры
Входные данные Выходные данные
1 -0..5 -0.5 YES
2 -1. 1.5  NO

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

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

 

Примеры
Входные данные Выходные данные
1 0.5 0.5  YES
2 -0.5 -0.5  NO

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

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

 

Примеры
Входные данные Выходные данные
1 0. 0. NO

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

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

 

Примеры
Входные данные Выходные данные
1 -0.5 0. NO
2 0. 0.5 YES

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

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

 

Примеры
Входные данные Выходные данные
1 -0.5 0.5 YES
2 0.5 -0.5 NO

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

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

 

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

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

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

Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

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

Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

 

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

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

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).
Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

Примеры
Входные данные Выходные данные
1 1.5 0.25 YES
2 1.5 -0.25 NO
Дано трехзначное число. Определить входят ли в него цифры 3, 6 или 9.

Входные данные 
На вход программе подается одно число N \(( 100 <= N <= 999 )\).

Выходные данные 
Вывести YES, если цифры 3, 6 или 9 входят в число, иначе вывести NO.
 

 

Примеры
Входные данные Выходные данные
1 359 YES
2 125 NO
Поделиться
Класснуть