Семинары ведут: Щуров И.В., Будылин Р.Я., НИУ ВШЭ
Данный notebook является набором задач по курсу «Программирование на языке Python для сбора и анализа данных» (НИУ ВШЭ, 2014-15). Тексты задач взяты с сайта http://informatics.mccme.ru/. На странице курса находятся другие материалы.
За разные задачи можно получить разное число баллов. Максимум за ДЗ можно набрать 14 баллов. Вы можете решить больше задач, чем требуется, чтобы набрать 14 баллов, чтобы подстраховаться.
В математике функция sign(x) (знак числа) определена так:
sign(x) = 1, если x > 0,
sign(x) = -1, если x < 0,
sign(x) = 0, если x = 0.
Вводится число x.
Выведите ответ на задачу.
179
1
Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным,
то выведите YES
, иначе выведите NO
.
Напомним, что в соответствии с григорианским календарем, год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.
Вводится одно натуральное число.
Выведите ответ на задачу.
100
NO
Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число).
Внимание! Здесь запрещено использовать функции `min`, `max` и им подобные.
Какое наименьшее число операторов сравнения (>, <, >=, <=) необходимо для решения этой задачи?
Вводится три целых числа.
Выведите ответ на задачу.
1 2 3
3
Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).
**Внимание**! Здесь запрещено использовать множества (`sets`), словари и прочие продвинутые методы языка. Решение должно быть основано на операторе `if`.
Вводятся три целых числа.
Выведите ответ на задачу.
1 2 3
0
Шахматный ферзь ходит по диагонали, горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ферзь попасть с первой клетки на вторую одним ходом.
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Программа должна вывести YES
, если из первой клетки ходом ферзя можно попасть во вторую или NO
в противном случае.
1 1 2 2
YES
1 1 2 3
NO
Для данного числа n<100 закончите фразу “На лугу пасется...” одним из возможных продолжений: “n коров”, “n корова”, “n коровы”, правильно склоняя слово “корова”.
Вводится натуральное число.
Программа должна вывести введенное число n и одно из слов: korov
, korova
или korovy
. Между числом и словом должен стоять ровно один пробел.
1
1 korova
2
2 korovy
5
5 korov
Даны произвольные действительные коэффициенты $a$, $b$, $c$. Решите уравнение $ax^2+bx+c=0$.
Вводятся три действительных числа.
Если данное уравнение не имеет корней, выведите число 0. Если уравнение имеет один корень, выведите число 1, а затем этот корень. Если уравнение имеет два корня, выведите число 2, а затем два корня в порядке возрастания. Если уравнение имеет бесконечно много корней, выведите число 3.
1 -1 -2
2 -1 2
1 2 1
1 -1
Вклад в банке составляет \(x\) рублей. Ежегодно он увеличивается на \(p\) процентов, после чего дробная часть копеек отбрасывается. Определите, через сколько лет вклад составит не менее \(y\) рублей.
Программа получает на вход три натуральных числа: \(x\), \(p\), \(y\).
Программа должна вывести одно целое число.
100 10 200
8
Последовательность Фибоначчи определяется так: $$ \varphi_0=0, \varphi_1=1, ..., \varphi_{n}=\varphi_{n-1}+\varphi_{n-2}. $$
Дано натуральное число $A$. Определите, каким по счету числом Фибоначчи оно является,
то есть выведите такое число $n$, что
$$\varphi_n=A.$$
Если $А$ не является числом Фибоначчи,
выведите число -1.
Вводится натуральное число A.
Выведите ответ на задачу.
8
6
10
-1
У исполнителя “Водолей” есть два сосуда, первый объемом A литров, второй объемом B литров, а также кран с водой. Водолей может выполнять следующие операции:
>A
).
>B
).
A>
).
B>
).
A>B
).
B>A
).
Команда переливания из одного сосуда в другой приводят к тому, что либо первый сосуд полностью опустошается, либо второй сосуд полность наполняется.
Программа получает на вход три натуральных числа A, B, N, не превосходящих 104.
Необходимо вывести алгоритм действий Водолея, который позволяет получить в точности N литров
в одном из сосудов, если же такого алгоритма не существует, то программа должна вывести текст Impossible
.
Количество операций в алгоритме не должно превышать 105. Гарантируется, что если задача имеет решение, то есть решение, которое содержит не более, чем 105 операций.
Тесты к этой задаче закрытые.
3 5 1
>A A>B >A A>B
3 5 6
Impossible