{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Программирование на языке Python для сбора и анализа данных\n", "*Семинары ведут: Щуров И.В., Будылин Р.Я., НИУ ВШЭ*\n", "\n", "Данный notebook является набором задач по курсу \n", "«Программирование на языке Python для сбора и анализа данных» \n", "(НИУ ВШЭ, 2014-15). Тексты задач взяты с сайта http://informatics.mccme.ru/. \n", "На [странице курса](http://math-info.hse.ru/s15/m) находятся другие материалы." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Домашнее задание №3\n", "За разные задачи можно получить разное число баллов. Максимум за ДЗ можно набрать 14 баллов. Вы можете решить больше задач, чем требуется, чтобы набрать 14 баллов, чтобы подстраховаться." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача A](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=2959) (1 балл)\n", "\n", "
\n", "
\n", "

В математике функция sign(x) (знак числа) определена так:
sign(x) = 1,   если x > 0,
sign(x) = -1, если x < 0,
sign(x) = 0,   если x = 0.

Для данного числа x выведите значение sign(x).\n", "\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводится число x.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
179\n",
    "
Выходные данные
1\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача B](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3504) (1 балл)\n", "\n", "
\n", "
\n", "

Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным,\n", "то выведите YES, иначе выведите NO.\n", "Напомним, что в соответствии с григорианским календарем, год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводится одно натуральное число.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
100\n",
    "
Выходные данные
NO\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача C](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3505) (2 балла)\n", "\n", "
\n", "
\n", "

Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число).\n", "\n", "

\n", "

Внимание! Здесь запрещено использовать функции `min`, `max` и им подобные.\n", "\n", "

Какое наименьшее число операторов сравнения (>, <, >=, <=) необходимо для решения этой задачи?\n", "\n", "

\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводится три целых числа.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
1\n",
    "2\n",
    "3\n",
    "
Выходные данные
3\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача D](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3507) (2 балла)\n", "\n", "
\n", "
\n", "

Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).\n", "\n", "

\n", "

**Внимание**! Здесь запрещено использовать множества (`sets`), словари и прочие продвинутые методы языка. Решение должно быть основано на операторе `if`.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводятся три целых числа.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
1\n",
    "2\n",
    "3\n",
    "\n",
    "
Выходные данные
0\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача E](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3512) (3 балла)\n", "\n", "
\n", "
\n", "

Шахматный ферзь ходит по диагонали, горизонтали или вертикали. Даны две различные клетки шахматной доски, определите,\n", "может ли ферзь попасть с первой клетки на вторую одним ходом.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Программа получает на вход четыре числа\n", "от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
1\n",
    "1\n",
    "2\n",
    "2\n",
    "\n",
    "
Выходные данные
YES\n",
    "
Входные данные
1\n",
    "1\n",
    "2\n",
    "3\n",
    "
Выходные данные
NO\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача F](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3517) (3 балла)\n", "\n", "
\n", "
\n", "

Для данного числа n<100 закончите фразу “На лугу пасется...”\n", "одним из возможных продолжений: “n коров”, “n корова”, “n коровы”,\n", "правильно склоняя слово “корова”.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводится натуральное число.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

Программа должна вывести введенное число n и одно из слов: korov, korova\n", "или korovy. Между числом и словом должен стоять ровно один пробел.

\n", "
\n", "
Примеры
Входные данные
1\n",
    "
Выходные данные
1 korova\n",
    "
Входные данные
2\n",
    "
Выходные данные
2 korovy\n",
    "
Входные данные
5\n",
    "
Выходные данные
5 korov\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача G](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3619) (2 балла)\n", "\n", "
\n", "
\n", "

Даны произвольные действительные коэффициенты $a$, $b$, $c$. Решите уравнение\n", "$ax^2+bx+c=0$.\n", "\n", "

\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводятся три действительных числа.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

Если данное уравнение не имеет корней, выведите число 0. Если уравнение\n", "имеет один корень, выведите число 1, а затем этот корень. Если уравнение имеет\n", "два корня, выведите число 2, а затем два корня в порядке возрастания. Если уравнение\n", "имеет бесконечно много корней, выведите число 3.

\n", "
\n", "
Примеры
Входные данные
1\n",
    "-1\n",
    "-2\n",
    "
Выходные данные
2 -1 2\n",
    "
Входные данные
1\n",
    "2\n",
    "1\n",
    "
Выходные данные
1 -1\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача H](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3642) (1 балл)\n", "\n", "
\n", "
\n", "

По данному целому числу N распечатайте все квадраты натуральных чисел,\n", "не превосходящие N, в порядке возрастания.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводится натуральное число.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
50\n",
    "
Выходные данные
1 4 9 16 25 36 49 \n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача I](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3643) (1 балл)\n", "\n", "
\n", "
\n", "

Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводится целое положительное число.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
15\n",
    "
Выходные данные
3\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача J](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3648) (2 балла)\n", "\n", "
\n", "
\n", "

Вклад в банке составляет \\(x\\) рублей. Ежегодно он увеличивается на \\(p\\) процентов,\n", "после чего дробная часть копеек отбрасывается. Определите, через сколько лет вклад составит не менее \\(y\\) рублей.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Программа получает на вход три натуральных числа: \\(x\\), \\(p\\), \\(y\\).

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

Программа должна вывести одно целое число.

\n", "
\n", "
Примеры
Входные данные
100\n",
    "10\n",
    "200\n",
    "
Выходные данные
8\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача K](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3660) (2 балла)\n", "\n", "
\n", "
\n", "

Последовательность Фибоначчи определяется так:\n", "\n", "$$\n", "\\varphi_0=0, \\varphi_1=1, ..., \\varphi_{n}=\\varphi_{n-1}+\\varphi_{n-2}.\n", "$$\n", "

\n", "

Дано натуральное число $A$. Определите, каким по счету числом Фибоначчи оно является,\n", "то есть выведите такое число $n$, что \n", "
\n", "$$\\varphi_n=A.$$ \n", "
\n", "Если $А$ не является числом Фибоначчи,\n", "выведите число -1.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Вводится натуральное число A.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

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

\n", "
\n", "
Примеры
Входные данные
8\n",
    "
Выходные данные
6\n",
    "
Входные данные
10\n",
    "
Выходные данные
-1\n",
    "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Задача L](http://informatics.mccme.ru/mod/statements/view3.php?id=17062&chapterid=3667) (5 балла)\n", "\n", "
\n", "
\n", "

У исполнителя “Водолей” есть два сосуда, первый объемом A литров,\n", "второй объемом B литров, а также кран с водой. Водолей может выполнять следующие\n", "операции:

\n", "
    \n", "
  1. Наполнить сосуд A (обозначается >A).\n", "\n", "
  2. Наполнить сосуд B (обозначается >B).\n", "
  3. Вылить воду из сосуда A (обозначается A>).\n", "
  4. Вылить воду из сосуда B (обозначается B>).\n", "
  5. Перелить воду из сосуда A в сосуд B (обозначается как A>B).\n", "
  6. Перелить воду из сосуда B в сосуд A (обозначается как B>A).\n", "\n", "
\n", "

Команда переливания из одного сосуда в другой приводят к тому, что либо первый сосуд полностью\n", "опустошается, либо второй сосуд полность наполняется.

\n", "
\n", "
\n", "
\n", " Входные данные\n", "
\n", "

Программа получает на вход три натуральных числа A, B, N, не превосходящих 104.

\n", "
\n", "
\n", "
\n", " Выходные данные\n", "
\n", "

Необходимо вывести алгоритм действий Водолея, который позволяет получить в точности N литров\n", "в одном из сосудов, если же такого алгоритма не существует, то программа должна вывести текст Impossible.

\n", "

Количество операций в алгоритме не должно превышать 105. Гарантируется,\n", "что если задача имеет решение, то есть решение, которое содержит не более, чем 105 операций.\n", "\n", "

Тесты к этой задаче закрытые.

\n", "
\n", "
Примеры
Входные данные
3\n",
    "5\n",
    "1\n",
    "
Выходные данные
>A\n",
    "A>B\n",
    ">A\n",
    "A>B\n",
    "
Входные данные
3\n",
    "5\n",
    "6\n",
    "
Выходные данные
Impossible\n",
    "
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language": "python", "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }