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

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

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

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

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

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

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

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

Хочу порекомендовать пройти некоторые дистанционные учебные курсы на сайте Coursera. Чтобы не актуализировать постоянно ссылки и даты буду просто вставлять в начало ссылки. Надеюсь разберетесь на месте. Основы разработки на C++ №1 на русском Основы разработки на C++ №2 на русском Algorithms #1 на английском. Очень хороший и сложный курс. Algorithms #2 на английском. Такой … Continue reading

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

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

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

e-olymp 8851. Число навпаки

e-olymp 8851. Число навпаки

Умова задачі Записати чотиризначне натуральне число в зворотному порядку. Вхідні дані Задане чотиризначне натуральне число. Вихідні дані Відповідь до задачі. Тести № Входные данные Выходные данные 1 1234 4321 2 1984 4891 Розвязок №1

Для отримання потрібного числа, відділимо кожну цифру та привласнемо до неї змінну. Виводимо у потрібному порядку. Розвязок №2

Представимо … Continue reading

e-olymp 4020. Культ-орки на лестнице

e-olymp 4020. Культ-орки на лестнице

Задача В Летней Кинематографической Школе пришло время обеда и эльф Коля поспешил в столовую. Однако для того, чтобы попасть в столовую, Коле нужно подняться по длинной лестнице, а на каждой её ступеньке в это время суток стоит по культ-орку. Каждый культ-орк разрешает Коле пройти по своей ступеньке только после того, как Коля запишется на мероприятие, … Continue reading

e-olymp 2386. Следующая перестановка

e-olymp 2386. Следующая перестановка

Условие задачи Найдите следующую перестановку. Тождественная перестановка является следующей для обратной. Входные данные В первой строке записано количество элементов $n$ $\left(1\leqslant n\leqslant10^5\right)$ в перестановке. Во второй строке записана перестановка из $n$ чисел. Выходные данные Вывести $n$ чисел — искомую перестановку. Тесты № Ввод Вывод 1 3 3 2 1 1 2 3 2 1 9 9 … Continue reading

e-olymp 1288.  n-значные числа

e-olymp 1288. n-значные числа

Задача: Сколько натуральных $n$ -значных чисел начинаются с цифры $a$ или цифры $b$? Входные данные: Заданы три целых числа: натуральное $n$ [latex](0 \lt n \leqslant 10^6)[/latex] и целые $a$ и $b$. Все данные, как и само условие задачи, заданы в десятичной системе счисления. Выходные данные: Вывести количество натуральных $n$ -значных чисел, которые начинаются с цифры $a$ или … Continue reading

e-olymp 2662. Метод минимума

e-olymp 2662. Метод минимума

Условие задачи Массив сортируется методом выбора по возрастанию. Сколько раз меняет свое место первый по порядку элемент? Входные данные Первая строка содержит количество элементов в массиве $n$ $\left(1\leqslant n\leqslant1000\right)$. Во второй строке задан сам массив. Гарантируется, что все элементы массива различны и не превышают по модулю $10^9$. Выходные данные Вывести количество перемещений первого элемента. Тесты … Continue reading

e-olymp 398. Торт для Серёжи

e-olymp 398. Торт для Серёжи

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

e-olymp 1661. Рюкзак Алладина

e-olymp 1661. Рюкзак Алладина

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

e-olymp 1206. f91

e-olymp 1206. f91

Задача МакКарти — известный теоретик компьютерных наук. В одной из своих работ он определил рекурсивную функцию $f_{91}$, которая определена для всякого натурального числа $n$ следующим образом: Если $n\leqslant100$, то $f_{91}\left(n\right) = f_{91}\left(f_{91}\left(n+11\right)\right)$; Если $n\geqslant101$, то $f_{91}\left(n\right) = n-10$. Входные данные Натуральное число $n$, не большее $1000000$. Выходные данные Значение $f_{91}\left(n\right)$. Тесты № ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ … Continue reading

e-olymp 2663. Сортировка пузырьком

e-olymp 2663. Сортировка пузырьком

Условие Определите, сколько обменов сделает алгоритм пузырьковой сортировки по возрастанию для данного массива. Входные данные В первой строке содержится количество элементов $n$ ($1 \leqslant n \leqslant 1000$) в массиве. Во второй строке — сам массив. Гарантируется, что все элементы массива различны и не превышают по модулю $10$$9$. Выходные данные Выведите одно число — количество обменов … Continue reading

Поздравляем с Днем Рождения!

Поздравляем с Днем Рождения!

Игорь Евгеньевич, Приматы 1-го курса поздравляют Вас с Юбилеем! Все наши поздравления и пожелания мы собрали в одну запись. Мы очень надеемся, что Вам будет приятно!) Наши Поздравления: Игорь Евгеньевич, с Днем Рождения Вас! Желаю побольше радостных событий и улыбок в Вашей жизни, чтобы студенты радовали Вас своими мозгами и не бесили их отсутствием, чтобы … Continue reading

e-olymp 1704. Умная черепашка

e-olymp 1704. Умная черепашка

Условие задачи Имеется клетчатое поле размером $m\times n$. В левом нижнем углу сидит черепашка. Она умеет ходить только вправо или вверх. Перед тем как добраться до правого верхнего угла её заинтересовал вопрос: сколько существует способов добраться из исходной точки до правого верхнего угла? Черепашка хотя и умная, но сама считать так много пока не умеет. … Continue reading

e-olymp 8963. Наименьшие влево

e-olymp 8963. Наименьшие влево

Условие Задан массив из [latex]n[/latex] целых чисел. Переместить все минимальные элементы в начало массива, не меняя порядок других. Входные данные В первой строке записано натуральное число [latex]n[/latex]. В следующей строке записаны [latex]n[/latex] целых чисел. Все числа по модулю не превышают [latex]100[/latex]. Выходные данные Выведите элементы обновленного массива. Тесты № Ввод Вывод 1 7 6 -3 … Continue reading

e-olymp 123. Количество нулей у факториала

e-olymp 123. Количество нулей у факториала

Задача Найти количество нулей в конце записи факториала числа $n$. Входные данные Одно число $n$ $(1 \leqslant n \leqslant2\cdot10^9)$ Выходные данные Количество нулей в конце записи $n!$ Тесты № ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ ДАННЫЕ  1 1 0  2 7 1  3 12 2  4 100 24  5 306 75  6 5000 1249 Код

Решение Каждый … Continue reading

e-olymp 8666. Коровий котильон

e-olymp 8666. Коровий котильон

Задача В коровьем котильоне — причудливом танце весны — участвуют коровы (обозначаются $ «\gt»$) и быки (обозначаются $ «\lt»$), они кланяются друг другу во время танца. Схематически обозначим пару кланяющихся животных следующим образом: $ «\gt \lt»$. Иногда вторая пара скота может находиться между кланяющейся парой: $ «\gt \gt \lt \lt»$. Иногда и большее количество коров … Continue reading

e-olimp 7848. Переставить соседние

e-olimp 7848. Переставить соседние

Задача Задан массив из $n$ целых чисел. Переставьте соседние элементы массива ($a_{0}$ с $a_{1}$, $a_{2}$ с $a_{3}$ и так далее). Если элементов нечетное количество, то последний элемент следует оставить на своем месте. Входные данные В первой строке записано число $n$. В следующей строке записано $n$ целых чисел. Все числа по модулю не превышают $100$. Выходные … Continue reading

e-olymp 8916. Первые парные

e-olymp 8916. Первые парные

Первые парные Программа должна ввести с консоли натуральное число [latex] n [/latex] и вывести в порядке возрастания [latex] n [/latex] первых четных натуральных чисел. Входные данные Натуральное число [latex] n [/latex]. Выходные данные В одной строке через пробел [latex] n [/latex] первых четных натуральных чисел. Тесты № Входные данные Выходные данные 1 3 2 4 6 2 8 2 4 6 8 … Continue reading

e-olymp 7847. Кількість різних елементів

e-olymp 7847. Кількість різних елементів

Задача Дано масив з N цілих чисел. Визначте, скільки в цьому масиві різних елементів. Вхідні дані В першому рядку записано число N. В наступному рядку записано N цілих чисел. Всі числа за модулем не перевищують 100. Вихідні дані Кількість різних елементів в масиві. Тести   № Вхідні дані Вихідні дані 1. 7 3 5 -7 7 5 -9 -4 6 2. … Continue reading

e-olymp 8663. Задача про множення

e-olymp 8663. Задача про множення

Задача На уроці математики Байтик навчився множити, і почав застосовувати цю операцію з різними числами. Наприклад, розкладав число на цифри і знаходив добуток цифр. І тут він задумався, який найбільший добуток цифр серед натуральних чисел, що не перевищує [latex]N[/latex]. Допоможіть розв’язати задачу. Вхідні дані Одне число [latex]N(1\leqslant N\leqslant 2\times 10^{9})[/latex]. Вихідні дані Максимальний добуток цифр … Continue reading

e-olymp 4439. Возведение в степень

e-olymp 4439. Возведение в степень

Задача Вычислить значение $a^b$. Входные данные Два натуральных числа $a$ и $b$. Выходные данные Выведите значение $a^b$, если известно что оно не превосходит $10^{18}$. Тесты № ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ ДАННЫЕ  1 1 100 1  2 2 10 1024  3 3 7 2187  4 8 9 134217728  5 10 10 10000000000  6 100 9 1000000000000000000 Код … Continue reading

e-olymp 8674. Игра

e-olymp 8674. Игра

Задача Мурад и Ибрагим играют в следующую игру. Изначально дается число $1$. На своем ходу каждый игрок должен умножить текущее число на одно из целых чисел от $2$ до $9$ включительно. Цель состоит в том, чтобы получить число не меньше заданного целого числа $n$. Игрок, получивший такой номер первым, объявляется победителем. Мурад всегда начинает первым. … Continue reading