С чего начать?

С чего начать?

Будем предполагать, что Ваша цель не просто изучить программирование, но и научиться решать задачи. Это означает, что Вы вероятно хотите получить в дальнейшем какую-то пользу от своих новых знаний и навыков, а не просто убиваете время. Сразу должен предупредить, что это потребует во много раз больше усилий, чем простое изучение синтаксиса и лексики С++, урду … Continue reading

Как не нужно решать задачи

Как не нужно решать задачи

Есть довольно подробные рекомендации, как нужно решать задачи по программированию (в т.ч. для студентов). В конце заметки я дам ссылки на одну из таких статей. Но я хотел бы сейчас привести наглядный пример того, как не надо решать задачи. Вот довольно простая задача про разрезание брусочка сыра (точнее прямоугольного параллелепипеда) на кубики со стороной 1. … Continue reading

Дистанционные учебные курсы

Дистанционные учебные курсы

Начнем с курсов которые проходить легко и просто даже с планшета или мобильного. В эти курсы уже встроена система выполнения кода. Устанавливать ничего не потребуется. Можно проходить даже с мобильного телефона или планшета. Ввыедение в С++ — для не очень уверенных в себе студентов. Решение простых задач без привлечения серьезных возможностей яззыка. Программирование на языке … Continue reading

Образец: Принадлежит ли точка треугольнику?

Образец: Принадлежит ли точка треугольнику?

Задача. Даны три попарно не совпадающие и не лежащие на одной прямой точки [latex]A, B[/latex] и [latex]C[/latex], заданные своими координатами. Определить принадлежит ли точка [latex]D(x_d,y_d)[/latex] треугольнику [latex]ABC[/latex]. Сразу заметим, что задача легко обобщается для любого выпуклого многоугольника. Тесты В тестах нужно обязательно отразить следующие случаи: Точка строго вне треугольника Точка строго внутри треугольника Точка совпадает … Continue reading

e-olymp 7258. Числовые операции

Условие На доске записано число $1$. Каждую секунду Петя может провести над числом одну из двух операций: либо прибавить к числу $1$, либо произвольным образом переставить цифры числа (но так, чтобы на первом месте оказался не ноль). После этого Петя вытирает с доски старое число и записывает вместо него получившееся. Задание Напишите программу, которая для … Continue reading

e-olymp 3738. Простая сортировка

e-olymp 3738. Простая сортировка

Задача Дан массив целых чисел. Ваша задача — отсортировать его в порядке неубывания. Входные данные В первой строке входного файла содержится число $N (1 \leqslant N \leqslant 100000)$ — количество элементов в массиве. Во второй строке находятся N целых чисел, по модулю не превосходящих $10^9$. Выходные данные В выходной файл надо вывести этот же массив … Continue reading

e-olymp 7254. Отрезки

Задача Петя очень любит игрушки в форме геометрических фигур. Недавно он заметил, что среди его игрушек нет ни одного треугольника. Это очень огорчило Петю, поэтому он отправился в ближайший магазин с целью покупки новенького треугольника. В магазине Пете сказали, что все треугольники уже давно раскупили, но в наличии есть [latex]N[/latex] прямых отрезков. Отрезки пронумерованы последовательными … Continue reading

e-olymp 7241. Transit

Задача Країна Ужляндія має вигідне географічне розташування – її територія знаходиться на перетині важливих торгівельних шляхів. Одним із таких є торгівельний шлях, яким сусідня братська держава доставляє свої унікальні обігрівачі до інших країн. На кордоні Ужляндії та братської держави, де починається цей шлях, розташований спеціальний пропускний пункт, через який щодня проїжджає потяг із величезною кількістю … Continue reading

e-olymp 2691. Проходной балл

e-olymp 2691. Проходной балл

Задача Дан список учащихся с указанием годовых оценок по всем предметам. Для поступления в Школу Одаренных Детей необходимо, чтобы средний балл по всем предметам был не ниже, чем $K$. Определите, кого из перечисленных ребят могут зачислить в эту школу. Формат входных данных В первой строке дано число $N$ ($1 \leqslant N \leqslant 10000$), количество учащихся … Continue reading

e-olymp 6253. Репликация вируса

e-olymp 6253. Репликация вируса

Задача Некоторые вирусы реплицируются путем замены фрагмента ДНК в живой клетке фрагментом ДНК, который вирус несет с собой. Это заставляет клетку создавать вирусы, идентичные оригинальной, зараженной клеткой. Группа биологов заинтересована в том, чтобы узнать, сколько ДНК вносит вирус в геном хозяина. Чтобы узнать об этом, они упорядочили полный геном здоровой клетки, а также идентичную клетку, … Continue reading

e-olymp 7239. «Все, Степан! Ти мене дістав!»

Задача Степан нещодавно відпочивав у Японії і привіз звідти нову жувальну гумку. На першій парі в університеті він поділився гумкою зі своїм товаришем. Дочекавшись моменту, коли лектор повернувся до дошки, на рахунок «три — чотири» хлопці дружньо почали надувати бульбашки. Відомо, що Степан надуває бульбашку до максимально можливого розміру за час $t_1$, після чого бульбашка … Continue reading

e-olymp 4720. Новая игра Серёжи

e-olymp 4720. Новая игра Серёжи

Задача Троечник Серёжа часто просит отличника Васю сделать ему домашнее задание. Так как при всей гениальности Васи он всё же не может справиться с работой мгновенно, то Серёже приходится ждать. Серёже скучно ждать долго без дела. Не так давно он придумал новую игру, чтобы скоротать время. На белый стол с привязанной к нему системой координат … Continue reading

e-olymp 6941. Сумма НОД

Задача Для заданных $n$ натуральных чисел найдите сумму НОД (наибольших общих делителей) всех возможных пар этих чисел. Входные данные В первой строке задано количество тестов $n \ (1 < n < 100)$. Каждый тест состоит из одной строки и содержит количество входных чисел $m \ (1 < m < 100)$, за которым следуют $m$ натуральных … Continue reading

E-Olymp 568. Средняя зарплата

Условие На некотором предприятии работает некоторое количество работников, но не менее двух: директора и главного бухгалтера. Известно также, что количество работающих не превышает 1000. Зная заработные платы кождого работника определить среднюю зарплату на предприятии. Входные данные Заработные платы работников (не обязательно в одной строке) в гривнах. Выходные данные Средняя зарплата на предприятии в гривнах с … Continue reading

e-olymp 7824. Без повторений

Задача В натуральном числе $A$ удалили некоторые цифры так, чтобы получить наибольшее натуральное число $B$ с разными цифрами. Какое это число? Входные данные Натуральное число $x \ (1 \leqslant x \leqslant 10^{100})$. Выходные данные Натуральное число $B$. Тесты № Входные данные Выходные данные 1 575747 754 2 123231 321 3 314159265359 4192653 4 1092010 9210 … Continue reading

e-olymp 1602. НОК двух натуральных чисел

Задача Найдите $НОК$ (наименьшее общее кратное) двух натуральных чисел. Входные данные Два натуральных числа $a$ и $b$ $(a, b < 2 \cdot 10^9)$. Выходные данные Вывести $НОК$ чисел $a$ и $b$. Тесты № Входные данные Выходные данные 1 42 24 168 2 32 14 224 3 101 45 4545 Код

Решение Пусть есть два … Continue reading

E-Olymp 7029. Поликлиника

E-Olymp 7029. Поликлиника

Задача На прием к доктору каждый день приходит много людей. Каждый пациент находится на приеме целое число минут, однако разных пациентов доктор может принимать разное количество времени. Доктор начинает прием в момент времени $t_1$ минут и заканчивает прием в момент времени $t_2$ минут. Это означает, что любой пациент независимо от того, сколько времени его будет … Continue reading

e-olymp 7232. Комплектация компьютеров

Задача В наличии есть такие системные блоки: $a_1$ поддерживают только VGA интерфейс, $a_2$ поддерживают только DVI и $a_3$ поддерживают оба интерфейса VGA и DVI. Аналогично по мониторам: $b_1$ поддерживают только VGA, $b_2$ — только DVI, $b_3$ — оба интерфейса. Какое наибольшее количество компьютерных комплектов возможно собрать, если в каждом комплекте у системного блока с монитором … Continue reading

e-olymp 1243. Наименьшее общее кратное

e-olymp 1243. Наименьшее общее кратное

Условие Наименьшим общим кратным ($НОК$) множества натуральных чисел называется такое наименьшее натуральное число, которое делится на каждое число в этом множестве. Например, $НОК$ чисел $5$, $7$ и $15$ равно $105$. Вам необходимо найти $НОК$ $m$ заданных чисел. Входные данные Первая строка содержит количество тестов. Каждый тест состоит из одной строки и содержит числа $m$ $n_1$ … Continue reading

e-olymp 1679. Честная цепочка

e-olymp 1679. Честная цепочка

Условие В подземных норах в долине рядом со скалами Крейд-Моор долгое время жили в мире и согласии два гномьих племени. Гномы обоих племен работали в шахтах, добывая драгоценные камни. Первое племя добывало исключительно изумруды, а второе племя — рубины. Однажды в честь великого праздника Файрвинд гномы решили принести в дар своей богине Мирабель цепочку из … Continue reading

e-olymp 7095. Факторіали

e-olymp 7095. Факторіали

Задача Президент Першого національного Банку майор Томаса Б. Кiнгмена кожну ніч перекладає вміст сейфів, у яких клієнти банку зберігають свої коштовності. Грабіжникам це також відомо, і тому вони орендували один із сейфів у цьому банку й чекають, поки президент перекладе в їхній сейф щось цінне. Таким чином до їхніх рук потрапила скринька з коштовностями самого … Continue reading

e-olymp 7213. Шашка на кубе

Условие Поверхность куба отрезками, параллельными рёбрам куба, разделена на квадратные клетки, длина сторон которых в $l$ (нечетное натуральное число) раз меньше длины ребра куба. Шашку передвигают за один ход из клетки на произвольную смежную с ней клетку (что имеет с данной общую сторону). Создайте программу, которая вычислит, сколькими различными способами шашка может попасть за $m$ … Continue reading

e-olymp 7023. Тасование Ханафуда

e-olymp 7023. Тасование Ханафуда

Задача Есть несколько способов, чтобы перетасовать колоду карт. Одним из таких примеров является перетасовка для японской карточной игры «Ханафуда». Ниже показано, как ее выполнить. Имеется колода из $n$ карт. Начиная с $p$-ой карты сверху, $c$ карт вынимаются и кладутся на вершину колоды, как показано на рисунке. Такую операцию назовем операциею срезки. Напишите программу, которая моделирует … Continue reading

e-olymp 4739. Решето Эратосфена

Задача По заданным числам $a$ и $b$ вывести все простые числа в интервале от $a$ до $b$ включительно. Входные данные Два числа $a$ и $b \ (1 \leqslant a \leqslant b \leqslant 100000)$. Выходные данные Вывести в одной строке все простые числа в интервале от $a$ до $b$ включительно. Тесты № Входные данные Выходные данные … Continue reading